oklona / Miele-MQTT

A very simple script to read data from Miele@home cloud services, and publish using Mosquitto MQTT
21 stars 10 forks source link

Support for Devices #20

Closed skyrop closed 3 years ago

skyrop commented 3 years ago

Hello, With your script, I was able to integrate our dishwasher into the smart home. Thank you very much for your work!! We have three other devices which unfortunately are not yet supported with the script. This is a washing machine, tumbler and steamer. Would it be possible for you to add these devices?

This is my output of php miele-MQTT.php -d

array(4) { ["000149466755"]=> array(2) { ["ident"]=> array(4) { ["type"]=> array(3) { ["key_localized"]=> string(11) "Device type" ["value_raw"]=> int(1) ["value_localized"]=> string(15) "Washing machine" } ["deviceName"]=> string(0) "" ["deviceIdentLabel"]=> array(5) { ["fabNumber"]=> string(12) "000149466755" ["fabIndex"]=> string(2) "10" ["techType"]=> string(6) "WWR860" ["matNumber"]=> string(8) "11005950" ["swids"]=> array(3) { [0]=> string(4) "4575" [1]=> string(5) "25205" [2]=> string(5) "25268" } } ["xkmIdentLabel"]=> array(2) { ["techType"]=> string(5) "EK037" ["releaseVersion"]=> string(5) "03.85" } } ["state"]=> array(21) { ["ProgramID"]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> string(0) "" ["key_localized"]=> string(12) "Program name" } ["status"]=> array(3) { ["value_raw"]=> int(1) ["value_localized"]=> string(3) "Off" ["key_localized"]=> string(6) "status" } ["programType"]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> string(8) "Programa" ["key_localized"]=> string(12) "Program type" } ["programPhase"]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> string(0) "" ["key_localized"]=> string(13) "Program phase" } ["remainingTime"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["startTime"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["targetTemperature"]=> array(3) { [0]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> float(0) ["unit"]=> string(7) "Celsius" } [1]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> float(0) ["unit"]=> string(7) "Celsius" } [2]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> float(0) ["unit"]=> string(7) "Celsius" } } ["temperature"]=> array(3) { [0]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> float(0) ["unit"]=> string(7) "Celsius" } [1]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> float(0) ["unit"]=> string(7) "Celsius" } [2]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> float(0) ["unit"]=> string(7) "Celsius" } } ["signalInfo"]=> bool(false) ["signalFailure"]=> bool(false) ["signalDoor"]=> bool(false) ["remoteEnable"]=> array(3) { ["fullRemoteControl"]=> bool(false) ["smartGrid"]=> bool(false) ["mobileStart"]=> bool(false) } ["ambientLight"]=> NULL ["light"]=> NULL ["elapsedTime"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["spinningSpeed"]=> array(4) { ["unit"]=> string(3) "rpm" ["value_raw"]=> int(0) ["value_localized"]=> string(1) "0" ["key_localized"]=> string(10) "Spin speed" } ["dryingStep"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(12) "Drying level" } ["ventilationStep"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(9) "Fan level" } ["plateStep"]=> array(0) { } ["ecoFeedback"]=> NULL ["batteryLevel"]=> NULL } } ["000140447812"]=> array(2) { ["ident"]=> array(4) { ["type"]=> array(3) { ["key_localized"]=> string(11) "Device type" ["value_raw"]=> int(2) ["value_localized"]=> string(12) "Tumble dryer" } ["deviceName"]=> string(0) "" ["deviceIdentLabel"]=> array(5) { ["fabNumber"]=> string(12) "000140447812" ["fabIndex"]=> string(2) "10" ["techType"]=> string(8) "TWR860WP" ["matNumber"]=> string(8) "10999890" ["swids"]=> array(10) { [0]=> string(4) "5341" [1]=> string(5) "25359" [2]=> string(5) "25360" [3]=> string(5) "25269" [4]=> string(5) "20449" [5]=> string(5) "25260" [6]=> string(4) "5136" [7]=> string(5) "20445" [8]=> string(5) "25234" [9]=> string(4) "4259" } } ["xkmIdentLabel"]=> array(2) { ["techType"]=> string(5) "EK037" ["releaseVersion"]=> string(5) "03.82" } } ["state"]=> array(21) { ["ProgramID"]=> array(3) { ["value_raw"]=> int(2) ["value_localized"]=> string(7) "Cottons" ["key_localized"]=> string(12) "Program name" } ["status"]=> array(3) { ["value_raw"]=> int(1) ["value_localized"]=> string(3) "Off" ["key_localized"]=> string(6) "status" } ["programType"]=> array(3) { ["value_raw"]=> int(3) ["value_localized"]=> string(23) "Cleaning/Care programme" ["key_localized"]=> string(12) "Program type" } ["programPhase"]=> array(3) { ["value_raw"]=> int(531) ["value_localized"]=> string(15) "Comfort cooling" ["key_localized"]=> string(13) "Program phase" } ["remainingTime"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["startTime"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["targetTemperature"]=> array(3) { [0]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } [1]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } [2]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } } ["temperature"]=> array(3) { [0]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } [1]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } [2]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } } ["signalInfo"]=> bool(false) ["signalFailure"]=> bool(false) ["signalDoor"]=> bool(false) ["remoteEnable"]=> array(3) { ["fullRemoteControl"]=> bool(true) ["smartGrid"]=> bool(false) ["mobileStart"]=> bool(false) } ["ambientLight"]=> NULL ["light"]=> NULL ["elapsedTime"]=> array(2) { [0]=> int(0) [1]=> int(46) } ["spinningSpeed"]=> array(4) { ["unit"]=> string(3) "rpm" ["value_raw"]=> NULL ["value_localized"]=> NULL ["key_localized"]=> string(10) "Spin speed" } ["dryingStep"]=> array(3) { ["value_raw"]=> int(2) ["value_localized"]=> string(6) "Normal" ["key_localized"]=> string(12) "Drying level" } ["ventilationStep"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(9) "Fan level" } ["plateStep"]=> array(0) { } ["ecoFeedback"]=> NULL ["batteryLevel"]=> NULL } } ["000104711406"]=> array(2) { ["ident"]=> array(4) { ["type"]=> array(3) { ["key_localized"]=> string(11) "Device type" ["value_raw"]=> int(7) ["value_localized"]=> string(10) "Dishwasher" } ["deviceName"]=> string(0) "" ["deviceIdentLabel"]=> array(5) { ["fabNumber"]=> string(12) "000104711406" ["fabIndex"]=> string(2) "64" ["techType"]=> string(5) "G7595" ["matNumber"]=> string(8) "11090680" ["swids"]=> array(11) { [0]=> string(4) "4921" [1]=> string(5) "20492" [2]=> string(5) "25166" [3]=> string(4) "4465" [4]=> string(5) "25318" [5]=> string(4) "4928" [6]=> string(5) "20475" [7]=> string(5) "25266" [8]=> string(4) "4875" [9]=> string(5) "20366" [10]=> string(5) "20462" } } ["xkmIdentLabel"]=> array(2) { ["techType"]=> string(5) "EK037" ["releaseVersion"]=> string(5) "03.85" } } ["state"]=> array(21) { ["ProgramID"]=> array(3) { ["value_raw"]=> int(3) ["value_localized"]=> string(3) "ECO" ["key_localized"]=> string(12) "Program name" } ["status"]=> array(3) { ["value_raw"]=> int(1) ["value_localized"]=> string(3) "Off" ["key_localized"]=> string(6) "status" } ["programType"]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> string(8) "Programa" ["key_localized"]=> string(12) "Program type" } ["programPhase"]=> array(3) { ["value_raw"]=> int(0) ["value_localized"]=> string(0) "" ["key_localized"]=> string(13) "Program phase" } ["remainingTime"]=> array(2) { [0]=> int(3) [1]=> int(47) } ["startTime"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["targetTemperature"]=> array(3) { [0]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } [1]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } [2]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } } ["temperature"]=> array(3) { [0]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } [1]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } [2]=> array(3) { ["value_raw"]=> int(-32768) ["value_localized"]=> NULL ["unit"]=> string(7) "Celsius" } } ["signalInfo"]=> bool(false) ["signalFailure"]=> bool(false) ["signalDoor"]=> bool(false) ["remoteEnable"]=> array(3) { ["fullRemoteControl"]=> bool(true) ["smartGrid"]=> bool(false) ["mobileStart"]=> bool(true) } ["ambientLight"]=> NULL ["light"]=> int(2) ["elapsedTime"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["spinningSpeed"]=> array(4) { ["unit"]=> string(3) "rpm" ["value_raw"]=> NULL ["value_localized"]=> NULL ["key_localized"]=> string(10) "Spin speed" } ["dryingStep"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(12) "Drying level" } ["ventilationStep"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(9) "Fan level" } ["plateStep"]=> array(0) { } ["ecoFeedback"]=> NULL ["batteryLevel"]=> NULL } } ["000160429060"]=> array(2) { ["ident"]=> array(4) { ["type"]=> array(3) { ["key_localized"]=> string(11) "Device type" ["value_raw"]=> int(31) ["value_localized"]=> string(22) "Steam combination oven" } ["deviceName"]=> string(0) "" ["deviceIdentLabel"]=> array(5) { ["fabNumber"]=> string(12) "000160429060" ["fabIndex"]=> string(2) "00" ["techType"]=> string(12) "DGC 6800X CH" ["matNumber"]=> string(8) "10459380" ["swids"]=> array(8) { [0]=> string(4) "4031" [1]=> string(5) "25003" [2]=> string(5) "20249" [3]=> string(5) "25083" [4]=> string(5) "20146" [5]=> string(4) "3919" [6]=> string(5) "20251" [7]=> string(5) "25086" } } ["xkmIdentLabel"]=> array(2) { ["techType"]=> string(8) "XKM3100W" ["releaseVersion"]=> string(5) "02.72" } } ["state"]=> array(18) { ["ProgramID"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(12) "Program name" } ["status"]=> array(3) { ["value_raw"]=> int(255) ["value_localized"]=> string(13) "Not connected" ["key_localized"]=> string(6) "status" } ["programType"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(12) "Program type" } ["programPhase"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(13) "Program phase" } ["remainingTime"]=> array(0) { } ["startTime"]=> array(0) { } ["targetTemperature"]=> array(0) { } ["temperature"]=> array(0) { } ["remoteEnable"]=> array(3) { ["fullRemoteControl"]=> bool(false) ["smartGrid"]=> bool(false) ["mobileStart"]=> NULL } ["ambientLight"]=> NULL ["light"]=> NULL ["elapsedTime"]=> array(0) { } ["spinningSpeed"]=> array(4) { ["unit"]=> string(3) "rpm" ["value_raw"]=> NULL ["value_localized"]=> NULL ["key_localized"]=> string(10) "Spin speed" } ["dryingStep"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(12) "Drying level" } ["ventilationStep"]=> array(3) { ["value_raw"]=> NULL ["value_localized"]=> string(0) "" ["key_localized"]=> string(9) "Fan level" } ["plateStep"]=> array(0) { } ["ecoFeedback"]=> NULL ["batteryLevel"]=> NULL } } }

Oberchefe commented 3 years ago

see here: https://github.com/oklona/Miele-MQTT/issues/19

skyrop commented 3 years ago

Hello Thanks for the hint. I have renamed the device names for the washing machine and dryer, it works now :-) I now only have problems with the steam combination. I have renamed the name from “Steam combination oven” to “Steam combination Oven”, but the device type is unfortunately not recognized. Do you have a tip for me? Does the device type still have to be added in the script? Unfortunately I am not a software developer.

Best regards

oklona commented 3 years ago

Hello! I have now changed the script so it will no longer need to be customized for all the different devices. You can find the new version under branch "Development". I will close this issue now.