Lay-Z Spa" WiFi-remote-for-Bestway-Lay-Z-SPA

Begonnen von Gasmast3r, 17 Juni 2022, 21:12:49

Vorheriges Thema - Nächstes Thema

Beta-User

#30
Mit wenn ich die Gesamt-Message korrekt verstanden habe, käme als Zwischenstand in etwa das hier raus:
defmod MQTT2_test MQTT2_DEVICE TEST
attr MQTT2_test IODev m2server
attr MQTT2_test jsonMap TGT:desired-temp TMP:temperature PWR:state AIR:air
attr MQTT2_test readingList layzspa/times:.* { json2nameValue($EVENT, 'times_', $JSONMAP) }\
  layzspa/other:.* { json2nameValue($EVENT, 'other_', $JSONMAP) }\
  layzspa/message:.* { $EVENT =~ s/"(PWR|AIR)":1/"$1":"on"/g;; $EVENT =~ s/"(PWR|AIR)":0/"$1":"off"/g;; json2nameValue($EVENT,'',$JSONMAP) }\
  layzspa/Status:.* { $EVENT eq 'Alive' ? {LWT=>'online'} : {LWT=>'offline'} }\
  layzspa/MAC_Address:.* MAC_Address\
  layzspa/MQTT_Connect_Count:.* MQTT_Connect_Count\
  layzspa/reboot_time:.* reboot_time\
  layzspa/reboot_reason:.* reboot_reason\
  layzspa/button:.* button
attr MQTT2_test room TEST
attr MQTT2_test setList on:noArg layzspa/command { "CMD":4, "VALUE":0, "XTIME":0, "INTERVAL":0 }\
  off:noArg layzspa/command  { "CMD":4, "VALUE":1, "XTIME":0, "INTERVAL":0 }\
  desired-temp:slider,20,1,40 layzspa/command  {CMD:0,VALUE:$EVTPART1,XTIME:0,INTERVAL:0}\
  air:on,off { my $on = $EVTPART1 eq 'on'?1:0;; qq(layzspa/command { "CMD":2, "VALUE":$on, "XTIME":0, "INTERVAL":0 }) }\
  unit:Celsius,Fahrenheit { my $Cel = $EVTPART1 eq 'Celsius'?1:0;; qq(layzspa/command  { "CMD":1, "VALUE":$Cel, "XTIME":0, "INTERVAL":0 }) }\
  heater:on,off { my $on = $EVTPART1 eq 'on'?1:0;; qq(layzspa/command  { "CMD":3, "VALUE":$on, "XTIME":0, "INTERVAL":0 }) }
attr MQTT2_test setStateList on off
attr MQTT2_test webCmd on:off:air:heater:unit

EDITs: da war was doppelt bzw. zu viel...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gasmast3r

hier mal der hide MQTT trafic
layzspa

Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657539677,"LCK":1,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":40,"TMP":21,"CH1":32,"CH2":50,"CH3":49,"HJT":0,"BRT":3}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657539677,"CLTIME":1657126319,"FTIME":1657126321,"UPTIME":318703,"PUMPTIME":83253,"HEATINGTIME":516,"AIRTIME":100,"JETTIME":0,"COST":0.488826126,"FINT":7,"CLINT":7,"KWH":1.396646142,"TTTT":6923,"MINCLK":13}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-64,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}


homeassistant


Helsinki
homeassistant/sensor/layzspa_temperature/config
{"device":{"configuration_url":"http://192.168.178.14","connections":[["mac","A8:48:FA:C0:66:63"]],"identifiers":12609123,"manufacturer":"Visualapproach","model":"MIAMI2021","name":"Layzspa WiFi controller","sw_version":"2022-05-24"},"name":"Layzspa temperature","unique_id":"sensor.layzspa_temperature12609123","state_topic":"layzspa/message","unit_of_measurement":"°F","value_template":"{{ value_json.TMP }}","expire_after":700,"availability_topic":"layzspa/Status","payload_available":"Alive","payload_not_available":"Dead","device_class":"temperature"}
Helsinki
homeassistant/sensor/layzspa_target_temperature/config
{"device":{"configuration_url":"http://192.168.178.14","connections":[["mac","A8:48:FA:C0:66:63"]],"identifiers":12609123,"manufacturer":"Visualapproach","model":"MIAMI2021","name":"Layzspa WiFi controller","sw_version":"2022-05-24"},"name":"Layzspa target temperature","unique_id":"sensor.layzspa_target_temperature12609123","state_topic":"layzspa/message","unit_of_measurement":"°F","value_template":"{{ value_json.TGT }}","expire_after":700,"availability_topic":"layzspa/Status","payload_available":"Alive","payload_not_available":"Dead","device_class":"temperature"}
Helsinki
homeassistant/climate/layzspa_climate/config
{"device":{"configuration_url":"http://192.168.178.14","connections":[["mac","A8:48:FA:C0:66:63"]],"identifiers":12609123,"manufacturer":"Visualapproach","model":"MIAMI2021","name":"Layzspa WiFi controller","sw_version":"2022-05-24"},"name":"Layzspa temperature control","unique_id":"climate.layzspa_climate12609123","max_temp":104,"min_temp":68,"precision":1,"temperature_unit":"F","modes":["fan_only", "off", "heat"],"mode_command_topic":"layzspa/command","mode_command_template":"{CMD:3,VALUE:{%if value == \"heat\" %}1{% else %}0{% endif %},XTIME:0,INTERVAL:0}","mode_state_topic":"layzspa/message","mode_state_template":"{% if value_json.RED == 1 %}heat{% elif value_json.GRN == 1 %}heat{% else %}off{% endif %}","action_topic":"layzspa/message","action_template":"{% if value_json.RED == 1 %}heating{% elif value_json.GRN == 1 %}idle{% elif value_json.FLT == 1 %}fan{% else %}off{% endif %}","temperature_state_topic":"layzspa/message","temperature_state_template":"{{ value_json.TGT }}","current_temperature_topic":"layzspa/message","current_temperature_template":"{{ value_json.TMP }}","temperature_command_topic":"layzspa/command","temperature_command_template":"{CMD:0,VALUE:{{ value|int }},XTIME:0,INTERVAL:0}","power_command_topic":"layzspa/command","payload_on":"{CMD:4,VALUE:1,XTIME:0,INTERVAL:0}","payload_off":"{CMD:4,VALUE:0,XTIME:0,INTERVAL:0}","availability_topic":"layzspa/Status","payload_available":"Alive","payload_not_available":"Dead"}
Helsinki
homeassistant/sensor/layzspa_temperature/config
{"device":{"configuration_url":"http://192.168.178.14","connections":[["mac","A8:48:FA:C0:66:63"]],"identifiers":12609123,"manufacturer":"Visualapproach","model":"MIAMI2021","name":"Layzspa WiFi controller","sw_version":"2022-05-24"},"name":"Layzspa temperature","unique_id":"sensor.layzspa_temperature12609123","state_topic":"layzspa/message","unit_of_measurement":"°C","value_template":"{{ value_json.TMP }}","expire_after":700,"availability_topic":"layzspa/Status","payload_available":"Alive","payload_not_available":"Dead","device_class":"temperature"}
Helsinki
homeassistant/sensor/layzspa_target_temperature/config
{"device":{"configuration_url":"http://192.168.178.14","connections":[["mac","A8:48:FA:C0:66:63"]],"identifiers":12609123,"manufacturer":"Visualapproach","model":"MIAMI2021","name":"Layzspa WiFi controller","sw_version":"2022-05-24"},"name":"Layzspa target temperature","unique_id":"sensor.layzspa_target_temperature12609123","state_topic":"layzspa/message","unit_of_measurement":"°C","value_template":"{{ value_json.TGT }}","expire_after":700,"availability_topic":"layzspa/Status","payload_available":"Alive","payload_not_available":"Dead","device_class":"temperature"}
Helsinki
homeassistant/climate/layzspa_climate/config
{"device":{"configuration_url":"http://192.168.178.14","connections":[["mac","A8:48:FA:C0:66:63"]],"identifiers":12609123,"manufacturer":"Visualapproach","model":"MIAMI2021","name":"Layzspa WiFi controller","sw_version":"2022-05-24"},"name":"Layzspa temperature control","unique_id":"climate.layzspa_climate12609123","max_temp":40,"min_temp":20,"precision":1,"temperature_unit":"C","modes":["fan_only", "off", "heat"],"mode_command_topic":"layzspa/command","mode_command_template":"{CMD:3,VALUE:{%if value == \"heat\" %}1{% else %}0{% endif %},XTIME:0,INTERVAL:0}","mode_state_topic":"layzspa/message","mode_state_template":"{% if value_json.RED == 1 %}heat{% elif value_json.GRN == 1 %}heat{% else %}off{% endif %}","action_topic":"layzspa/message","action_template":"{% if value_json.RED == 1 %}heating{% elif value_json.GRN == 1 %}idle{% elif value_json.FLT == 1 %}fan{% else %}off{% endif %}","temperature_state_topic":"layzspa/message","temperature_state_template":"{{ value_json.TGT }}","current_temperature_topic":"layzspa/message","current_temperature_template":"{{ value_json.TMP }}","temperature_command_topic":"layzspa/command","temperature_command_template":"{CMD:0,VALUE:{{ value|int }},XTIME:0,INTERVAL:0}","power_command_topic":"layzspa/command","payload_on":"{CMD:4,VALUE:1,XTIME:0,INTERVAL:0}","payload_off":"{CMD:4,VALUE:0,XTIME:0,INTERVAL:0}","availability_topic":"layzspa/Status","payload_available":"Alive","payload_not_available":"Dead"}


hier sind auch Timer für Filterwechsel oder Chlor Prüfen angegeben
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Beta-User

Zitat von: Gasmast3r am 11 Juli 2022, 14:39:19
hier mal der hide MQTT trafic
a) wenn du mich verärgern willst, zeigst du noch mehr von dem Homeassistant-config-Quatsch  >:(
b) für den Rest hätte ich gerne EINE Schaltanweisung im kompletten Ablauf, wie sie der FHEM-MQTT2_SERVER mit "show MQTT traffic" anzeigt: Was geht raus, was kommt zurück?
Irgendeinen Zwischenstand statisch mitgeteilt zu bekommen, bringt mir nichts, weil der Bezug völlig unklar ist... (und dir im übrigen auch nicht, du solltest dir das im Ablauf ansehen!)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gasmast3r

#33
Zitat von: Beta-User am 11 Juli 2022, 15:01:48
a) wenn du mich verärgern willst, zeigst du noch mehr von dem Homeassistant-config-Quatsch  >:(
War nicht meine absicht

hier wenn ich die Temperatur setze
er sendet für jeden °C eine neue message

SENT
layzspa/command
{CMD:0,VALUE:34,XTIME:0,INTERVAL:0}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547385,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":36,"TMP":22,"CH1":32,"CH2":50,"CH3":50,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547385,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1071,"PUMPTIME":1071,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.00437325,"FINT":7,"CLINT":7,"KWH":0.012495001,"TTTT":-1189,"MINCLK":12}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-62,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547385,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":36,"TMP":22,"CH1":32,"CH2":51,"CH3":54,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547385,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1071,"PUMPTIME":1071,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.00437325,"FINT":7,"CLINT":7,"KWH":0.012495001,"TTTT":-1189,"MINCLK":12}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-63,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547386,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":35,"TMP":22,"CH1":32,"CH2":51,"CH3":53,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547386,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1072,"PUMPTIME":1072,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004377333,"FINT":7,"CLINT":7,"KWH":0.012506668,"TTTT":-1190,"MINCLK":11}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-63,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547387,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":51,"CH3":52,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547387,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1073,"PUMPTIME":1073,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004381416,"FINT":7,"CLINT":7,"KWH":0.012518332,"TTTT":-1191,"MINCLK":12}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-63,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547388,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":32,"CH3":32,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547388,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1073,"PUMPTIME":1073,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004381416,"FINT":7,"CLINT":7,"KWH":0.012518332,"TTTT":-1192,"MINCLK":8}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-62,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547388,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":51,"CH3":52,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547388,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1074,"PUMPTIME":1074,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.0043855,"FINT":7,"CLINT":7,"KWH":0.01253,"TTTT":-1192,"MINCLK":13}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-62,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547389,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":32,"CH3":32,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547389,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1074,"PUMPTIME":1074,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.0043855,"FINT":7,"CLINT":7,"KWH":0.01253,"TTTT":-1193,"MINCLK":7}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-61,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547389,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":51,"CH3":52,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547389,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1075,"PUMPTIME":1075,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004389583,"FINT":7,"CLINT":7,"KWH":0.012541667,"TTTT":-1193,"MINCLK":7}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-63,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547390,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":32,"CH3":32,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547390,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1075,"PUMPTIME":1075,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004389583,"FINT":7,"CLINT":7,"KWH":0.012541667,"TTTT":-1194,"MINCLK":12}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-61,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547390,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":32,"CH3":32,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547390,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1075,"PUMPTIME":1075,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004389583,"FINT":7,"CLINT":7,"KWH":0.012541667,"TTTT":-1194,"MINCLK":12}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-63,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547390,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":51,"CH3":52,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547390,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1076,"PUMPTIME":1076,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004393667,"FINT":7,"CLINT":7,"KWH":0.012553333,"TTTT":-1194,"MINCLK":12}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-61,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547391,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":50,"CH3":50,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547391,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1076,"PUMPTIME":1076,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004393667,"FINT":7,"CLINT":7,"KWH":0.012553333,"TTTT":-1195,"MINCLK":10}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-62,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}

hier wenn ich die Pumpe ausschalte

SENT
layzspa/command
{ "CMD":4, "VALUE":0, "XTIME":0, "INTERVAL":0 }
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547429,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":0,"TGT":34,"TMP":22,"CH1":32,"CH2":50,"CH3":50,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547429,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1115,"PUMPTIME":1115,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.004552917,"FINT":7,"CLINT":7,"KWH":0.013008334,"TTTT":-1233,"MINCLK":10}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-61,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}

hier wenn ich die Heizung einschalte( geht die Pumpe mit an )

Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547477,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":1,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":50,"CH3":50,"HJT":0,"BRT":6}
Helsinki
layzspa/times
{"CONTENT":"TIMES","TIME":1657547477,"CLTIME":1657546357,"FTIME":1657126321,"UPTIME":1163,"PUMPTIME":1115,"HEATINGTIME":0,"AIRTIME":0,"JETTIME":0,"COST":0.00456225,"FINT":7,"CLINT":7,"KWH":0.013035,"TTTT":-1281,"MINCLK":9}
Helsinki
layzspa/other
{"CONTENT":"OTHER","MQTT":0,"PressedButton":"1b1b","HASJETS":false,"RSSI":-62,"IP":"192.168.178.14","SSID":"My Home","FW":"2022-05-24","MODEL":"MIAMI2021"}


um es schöner zu gestalten fehlt mir das bessere wissen wie man sowas verschönert um die informationen besser darstellen zu können mit Jason map und was es da noch alles für möglichkeiten giebt
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Beta-User

Zitat von: Gasmast3r am 11 Juli 2022, 15:52:10
hier wenn ich die Temperatur setze
er sendet für jeden °C eine neue message
OK, das mit dem wiederholenden Rückmelden ist nicht allzu schön, aber besser wie keine Rückmeldung ;) .

Demnach stimmen zumindest mal die "Kreise" (setList+jsonMap) für desired-temp und temperature. Oder?

Zitat
hier wenn ich die Pumpe ausschalte

SENT
layzspa/command
{ "CMD":4, "VALUE":0, "XTIME":0, "INTERVAL":0 }
Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547429,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":0,"FLT":0,"TGT":34,"TMP":22,"CH1":32,"CH2":50,"CH3":50,"HJT":0,"BRT":6}
Helsinki

hier wenn ich die Heizung einschalte( geht die Pumpe mit an )

Helsinki
layzspa/message
{"CONTENT":"STATES","TIME":1657547477,"LCK":0,"PWR":1,"UNT":1,"AIR":0,"GRN":0,"RED":1,"FLT":1,"TGT":34,"TMP":22,"CH1":32,"CH2":50,"CH3":50,"HJT":0,"BRT":6}

Demnach wäre "FLT" das Kürzel für die Pumpe? Kannst du das bitte mal verifizieren, indem du händisch an Gerät direkt schaltest? Dann sollten eigentlich auch Messages kommen (hoffe ich zumindest).
Demnach wäre in jsonMap nicht "PWR:state" zu mappen, sondern "FLT:state"

Oder hat "PWR" eine spezielle Bedeutung und wir brauchen doch einen zusätzlichen "pump"-Schalter?

Zitat
um es schöner zu gestalten fehlt mir das bessere wissen wie man sowas verschönert um die informationen besser darstellen zu können mit Jason map und was es da noch alles für möglichkeiten giebt
Deswegen der deutliche Hinweis, dass man sich sowas "im Fluss" erschließen muss. Ich kann nur etwas Therie liefern (und habe eine gewisse Übung darin zu erraten, wie was gemeint sein kann), aber die Details musst du dann selbst rausfieseln.

Und hast du eine Idee, für was die CHx-Kürzel sind? Gibt es eine Beleuchtung?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gasmast3r

#35
Hy
Bekannt

AIR = Luftdüsen
BRT = Helligkeit Display
FLT = Pumpe( Filter)
PWR = Gerät ein/aus
UNT = °C/1 oder °F/0
RED = Heizung
LCK = Tastensperre


das kann ich jetzt so sagen, zumindestens kann ich so meine zustände bestimmen

unbekannt

CH1-3 noch nicht rausgefunden


eventuell für andere Modelle

GRN
HJT (solte wohl Hydrojet sein also anderes modell)
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Beta-User

Na ja, dann kannst du ja mal zumindest anfangen zu mappen.

Komisch ist das "example" (hattest du irgendwo hier gepostet):
{CMD:0, VALUE:1, XTIME:0, INTERVAL:100}
Würde tippen, dass der "CMD:0"-Zweig zugleich als Hauptschalter dient?
Also diese Payload das Ding ausschaltet:
{CMD:0, VALUE:0, XTIME:0, INTERVAL:100}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gasmast3r

AIR = Luftdüsen  CMD:2
BRT = Helligkeit Display
FLT = Pumpe( Filter)  CMD:4
PWR = Gerät ein/aus
UNT = °C/1 oder °F/0 CMD:1
RED = Heizung  CMD:3
LCK = Tastensperre
TGT = Temperatur einstellen CMD:0


Habe mir 5 Devices angefertigt die soweit funktionieren inkl zusandsänderung wenn ich es wo anders schalte.

die idee war noch es in 1 Device zusammen zu fügen


Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Beta-User

Zitat von: Gasmast3r am 11 Juli 2022, 17:23:33
Habe mir 5 Devices angefertigt die soweit funktionieren inkl zusandsänderung wenn ich es wo anders schalte.

die idee war noch es in 1 Device zusammen zu fügen
? was ist mit meinem Beispiel-Code?
Bis auf das "falsche" mapping von "pump" auf "state" sollte das passen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gasmast3r

#39
Zitat von: Beta-User am 11 Juli 2022, 17:26:54
? was ist mit meinem Beispiel-Code?
Bis auf das "falsche" mapping von "pump" auf "state" sollte das passen...

den zweiten habe ich garnicht gesehen

hier meine derzeitige zusammenstellung

Bubble

defmod MQTT2_Helsinki_CH2 MQTT2_DEVICE Helsinki
attr MQTT2_Helsinki_CH2 alexaName Bubble
attr MQTT2_Helsinki_CH2 alias BUBBLE
attr MQTT2_Helsinki_CH2 autocreate 0
attr MQTT2_Helsinki_CH2 group Spa
attr MQTT2_Helsinki_CH2 readingList Helsinki:layzspa/times:.* { json2nameValue($EVENT, 'times_', $JSONMAP) }\
Helsinki:layzspa/other:.* { json2nameValue($EVENT, 'other_', $JSONMAP) }\
Helsinki:layzspa/message:.* { json2nameValue($EVENT,'',$JSONMAP) }\
\
Helsinki:layzspa/Status:.* Status\
Helsinki:layzspa/MAC_Address:.* MAC_Address\
Helsinki:layzspa/MQTT_Connect_Count:.* MQTT_Connect_Count\
Helsinki:layzspa/reboot_time:.* reboot_time\
Helsinki:layzspa/reboot_reason:.* reboot_reason\
Helsinki:layzspa/button:.* button\

attr MQTT2_Helsinki_CH2 room MQTT2_DEVICE
attr MQTT2_Helsinki_CH2 setList on:noArg layzspa/command  { "CMD":2, "VALUE":1, "XTIME":0, "INTERVAL":0 }\\
  off:noArg layzspa/command  { "CMD":2, "VALUE":0, "XTIME":0, "INTERVAL":0 }\

attr MQTT2_Helsinki_CH2 stateFormat read
attr MQTT2_Helsinki_CH2 userReadings read {(ReadingsVal($name,"AIR","1") eq "1")?"on":"off"}
attr MQTT2_Helsinki_CH2 webCmd :


Heizung


defmod MQTT2_Helsinki_CH3 MQTT2_DEVICE Helsinki_BUBBLE
attr MQTT2_Helsinki_CH3 alexaName SPA
attr MQTT2_Helsinki_CH3 alias HEATER
attr MQTT2_Helsinki_CH3 autocreate 0
attr MQTT2_Helsinki_CH3 group Spa
attr MQTT2_Helsinki_CH3 readingList Helsinki:layzspa/times:.* { json2nameValue($EVENT, 'times_', $JSONMAP) }\
Helsinki:layzspa/other:.* { json2nameValue($EVENT, 'other_', $JSONMAP) }\
Helsinki:layzspa/message:.* { json2nameValue($EVENT,'',$JSONMAP) }\
\
Helsinki:layzspa/Status:.* Status\
Helsinki:layzspa/MAC_Address:.* MAC_Address\
Helsinki:layzspa/MQTT_Connect_Count:.* MQTT_Connect_Count\
Helsinki:layzspa/reboot_time:.* reboot_time\
Helsinki:layzspa/reboot_reason:.* reboot_reason\
Helsinki:layzspa/button:.* button
attr MQTT2_Helsinki_CH3 room MQTT2_DEVICE
attr MQTT2_Helsinki_CH3 setList on:noArg layzspa/command  { "CMD":3, "VALUE":1, "XTIME":0, "INTERVAL":0 }\\
  off:noArg layzspa/command  { "CMD":3, "VALUE":0, "XTIME":0, "INTERVAL":0 }
attr MQTT2_Helsinki_CH3 stateFormat read
attr MQTT2_Helsinki_CH3 userReadings read {(ReadingsVal($name,"RED","1") eq "1")?"on":"off"}
attr MQTT2_Helsinki_CH3 webCmd :


Pumpe

defmod MQTT2_Helsinki_CH4 MQTT2_DEVICE Helsinki
attr MQTT2_Helsinki_CH4 alexaName Pumpe
attr MQTT2_Helsinki_CH4 alias PUMP
attr MQTT2_Helsinki_CH4 autocreate 0
attr MQTT2_Helsinki_CH4 group Spa
attr MQTT2_Helsinki_CH4 readingList Helsinki:layzspa/times:.* { json2nameValue($EVENT, 'times_', $JSONMAP) }\
Helsinki:layzspa/other:.* { json2nameValue($EVENT, 'other_', $JSONMAP) }\
Helsinki:layzspa/message:.* { json2nameValue($EVENT,'',$JSONMAP) }\
\
Helsinki:layzspa/Status:.* Status\
Helsinki:layzspa/MAC_Address:.* MAC_Address\
Helsinki:layzspa/MQTT_Connect_Count:.* MQTT_Connect_Count\
Helsinki:layzspa/reboot_time:.* reboot_time\
Helsinki:layzspa/reboot_reason:.* reboot_reason\
Helsinki:layzspa/button:.* button\

attr MQTT2_Helsinki_CH4 room MQTT2_DEVICE
attr MQTT2_Helsinki_CH4 setList on:noArg layzspa/command  { "CMD":4, "VALUE":1, "XTIME":0, "INTERVAL":0 }\\
  off:noArg layzspa/command  { "CMD":4, "VALUE":0, "XTIME":0, "INTERVAL":0 }
attr MQTT2_Helsinki_CH4 stateFormat read
attr MQTT2_Helsinki_CH4 userReadings read {(ReadingsVal($name,"FLT","1") eq "1")?"on":"off"}
attr MQTT2_Helsinki_CH4 webCmd :


Temperatur

defmod MQTT2_Helsinki MQTT2_DEVICE Helsinki
attr MQTT2_Helsinki alexaName SPA
attr MQTT2_Helsinki alias TEMPERATUR
attr MQTT2_Helsinki autocreate 0
attr MQTT2_Helsinki genericDeviceType thermostat
attr MQTT2_Helsinki group Spa
attr MQTT2_Helsinki icon temp_control
attr MQTT2_Helsinki readingList Helsinki:layzspa/message:.* { json2nameValue($EVENT,'',$JSONMAP) }\
Helsinki:layzspa/times:.* { json2nameValue($EVENT, 'times_', $JSONMAP) }\
Helsinki:layzspa/other:.* { json2nameValue($EVENT, 'other_', $JSONMAP) }\
\
Helsinki:layzspa/Status:.* Status\
Helsinki:layzspa/MAC_Address:.* MAC_Address\
Helsinki:layzspa/MQTT_Connect_Count:.* MQTT_Connect_Count\
Helsinki:layzspa/reboot_time:.* reboot_time\
Helsinki:layzspa/reboot_reason:.* reboot_reason\
Helsinki:layzspa/button:.* button\
Helsinki:homeassistant/sensor/layzspa_temperature/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
Helsinki:homeassistant/sensor/layzspa_target_temperature/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
Helsinki:homeassistant/climate/layzspa_climate/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\

attr MQTT2_Helsinki room MQTT2_DEVICE
attr MQTT2_Helsinki setList TGT:slider,20,1,40 layzspa/command  {CMD:0,VALUE:$EVTPART1,XTIME:0,INTERVAL:0}
attr MQTT2_Helsinki stateFormat TMP config_unit_of_measurement
attr MQTT2_Helsinki webCmd TGT


UNIT °C/°F

defmod MQTT2_Helsinki_CH5 MQTT2_DEVICE Helsinki
attr MQTT2_Helsinki_CH5 alias Unit (F/C)
attr MQTT2_Helsinki_CH5 autocreate 0
attr MQTT2_Helsinki_CH5 group Spa
attr MQTT2_Helsinki_CH5 readingList Helsinki:layzspa/times:.* { json2nameValue($EVENT, 'times_', $JSONMAP) }\
Helsinki:layzspa/other:.* { json2nameValue($EVENT, 'other_', $JSONMAP) }\
Helsinki:layzspa/message:.* { json2nameValue($EVENT,'',$JSONMAP) }\
\
Helsinki:layzspa/Status:.* Status\
Helsinki:layzspa/MAC_Address:.* MAC_Address\
Helsinki:layzspa/MQTT_Connect_Count:.* MQTT_Connect_Count\
Helsinki:layzspa/reboot_time:.* reboot_time\
Helsinki:layzspa/reboot_reason:.* reboot_reason\
Helsinki:layzspa/button:.* button\
Helsinki:layzspa/homeassistant/switch/layzspa_temperature_unit:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_Helsinki_CH5 room MQTT2_DEVICE
attr MQTT2_Helsinki_CH5 setList °C:noArg layzspa/command  { "CMD":1, "VALUE":1, "XTIME":0, "INTERVAL":0 }\\
  °F:noArg layzspa/command  { "CMD":1, "VALUE":0, "XTIME":0, "INTERVAL":0 }\

attr MQTT2_Helsinki_CH5 stateFormat read
attr MQTT2_Helsinki_CH5 userReadings read {(ReadingsVal($NAME,"UNT","1") eq "1")?"°C":"°F"}
attr MQTT2_Helsinki_CH5 webCmd °C:°F


nicht so geil wie deine versionen
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Gasmast3r

#40
der passt recht gut
on off muste ich tauschen

on =0 zu =1
off =1 zu=0
heizung muss ich noch mal ändern und den Slider hinzufügen

bei Heizung und Celsius bekomme ich keine satus update wenn ich es per Web schalte

das birnen symbol geht auch nicht steht halt nur 1 oder 0

Bild ist meine Version
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Gasmast3r

#41
Zitat von: Beta-User am 11 Juli 2022, 17:26:54
? was ist mit meinem Beispiel-Code?
Bis auf das "falsche" mapping von "pump" auf "state" sollte das passen...

so habe dein Beispiel noch mal angepasst nun klappt alles

attr MQTT2_test1 jsonMap TGT:desired-temp TMP:temperature FLT:state AIR:air RED:heater UNT:unit
attr MQTT2_test1 readingList layzspa/times:.* { json2nameValue($EVENT, 'times_', $JSONMAP) }\
  layzspa/other:.* { json2nameValue($EVENT, 'other_', $JSONMAP) }\
  layzspa/message:.* { $EVENT =~ s/"(FLT|AIR|RED)":1/"$1":"on"/g;;;; $EVENT =~ s/"(FLT|AIR|RED)":0/"$1":"off"/g;;;; json2nameValue($EVENT,'',$JSONMAP) }\
  layzspa/Status:.* { $EVENT eq 'Alive' ? {LWT=>'online'} : {LWT=>'offline'} }\
  layzspa/MAC_Address:.* MAC_Address\
  layzspa/MQTT_Connect_Count:.* MQTT_Connect_Count\
  layzspa/reboot_time:.* reboot_time\
  layzspa/reboot_reason:.* reboot_reason\
  layzspa/button:.* button\
  layzspa/message:.* { $EVENT =~ s/"(UNT)":1/"$1":"Celsius"/g;;;; $EVENT =~ s/"(UNT)":0/"$1":"Fahrenheit"/g;;;; json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_test1 room TEST
attr MQTT2_test1 setList on:noArg layzspa/command { "CMD":4, "VALUE":1, "XTIME":0, "INTERVAL":0 }\
  off:noArg layzspa/command  { "CMD":4, "VALUE":0, "XTIME":0, "INTERVAL":0 }\
  desired-temp:slider,20,1,40 layzspa/command  {CMD:0,VALUE:$EVTPART1,XTIME:0,INTERVAL:0}\
  air:on,off { my $on = $EVTPART1 eq 'on'?1:0;;;; qq(layzspa/command { "CMD":2, "VALUE":$on, "XTIME":0, "INTERVAL":0 }) }\
  unit:Celsius,Fahrenheit { my $Celsius = $EVTPART1 eq 'Celsius'?1:0;;;; qq(layzspa/command  { "CMD":1, "VALUE":$Celsius, "XTIME":0, "INTERVAL":0 }) }\
  heater:on,off { my $on = $EVTPART1 eq 'on'?1:0;;;; qq(layzspa/command  { "CMD":3, "VALUE":$on, "XTIME":0, "INTERVAL":0 }) }
attr MQTT2_test1 setStateList on off
attr MQTT2_test1 webCmd on:off:air:heater:unit:desired-temp


INTERVAL:100 soll wohl für alle 100sec sendet er das

das habe ich noch gefunden

doc["LCK"] = _cio.states[LOCKEDSTATE];
    doc["PWR"] = _cio.states[POWERSTATE];
    doc["UNT"] = _cio.states[UNITSTATE];
    doc["AIR"] = _cio.states[BUBBLESSTATE];
    doc["GRN"] = _cio.states[HEATGRNSTATE];
    doc["RED"] = _cio.states[HEATREDSTATE];
    doc["FLT"] = _cio.states[PUMPSTATE];
    doc["TGT"] = _cio.states[TARGET];
    doc["TMP"] = _cio.states[TEMPERATURE];
    doc["CH1"] = _cio.states[CHAR1];
    doc["CH2"] = _cio.states[CHAR2];
    doc["CH3"] = _cio.states[CHAR3]; */

const settarget = 0;
const setunit = 1;
const setbubbles = 2;
const setheat = 3;
const setpump = 4;
const resetq = 5;
const rebootesp = 6;
const gettarget = 7;
const resettimes = 8;
const resetcltimer = 9;
const resetftimer = 10;
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Gasmast3r

Hy da nun alles soweit läuft,( um es mit Alexa zu nutzen in Einzel devices) wollte ich mich noch mal für die Hilfe bedanken.

Ich hoffe es hilft noch dem ein oder anderen User.
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Beta-User

 :) Danke für die Rückmeldung, freut mich sehr, wenn es jetzt so ist, wie du es haben willst.

Was Einzeldevices angeht, würde ich das hier anders lösen, nämlich ein "Gesamtdevice" bauen und dann die beiden "Sonderdevices" per readingsProxy vereinzeln. So wie du das jetzt aufgezogen hast, machst du sehr viele Auswertungen und auch Events zusätzlich. Sollte man m.E. vermeiden... (Zur Klarstellung: Da wo es attrTemplate für MQTT2_DEVICE per "split" machen, sind die Einzeldevices in der Regel reduziert auf das eine Reading, die readingList ist enstpechend kurz und json2nameValue()/jsonMap beerdigt direkt den Rest...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gasmast3r

Hy ich denke wenn es mehr Interesse giebt könnte man das sicher in Angriff nehmen, Rechenleistung jetzt sollte ja sicherlich vernachlässigbar sein.
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.