Kurzes Update:
Aktualisierung CUxD auf 2.10.1 hat das Problem nicht behoben.
Werde mal ein wenig weiter experimentieren
Kurzes Update:
Aktualisierung CUxD auf 2.10.1 hat das Problem nicht behoben.
Werde mal ein wenig weiter experimentieren
Firmware Shelly ist die 1.12.1
Auf der CCU ist die 2.61.7 und CUxD habe ich die 1.7
Ja und nein . Habe beides schon probiert , sowohl Wandthermostat alt als auch neu.
War auch mein erster Gedanke das es das falsche Wandthermostat war …
Leider bei beiden das Problem das die Temperatur nicht geschrieben wird.
In die Variablen werden hingegen die Werte geschrieben.
Als Notnagel hab ich jetzt das Skript erweitert um auch die Temperatur in eine Variable zu schreiben.
! Temperatur im CUxD-Gerät setzen
dom.GetObject(""#shellyht#".SET_TEMPERATURE").State(e);
dom.GetObject(""#httmp#"").State(e);
Hier das Ergebnis:
{"wifi_sta":{"connected":true,"ssid":"xyz","ip":"xyz","rssi":-60},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"20:11","unixtime":1678561911,"serial":2,"has_update":false,"mac":"4855190248F7","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"is_valid":true,"tmp":{"value":26.00,"units":"C","tC":26.00,"tF":78.80,"is_valid":true},"hum":{"value":30.5,"is_valid":true},"bat":{"value":100,"voltage":2.95},"act_reasons":["button"],"connect_retries":0,"sensor_error":0,"update":{"status":"idle","has_update":false,"new_version":"20221027-092707/v1.12.1-ga9117d3","old_version":"20221027-092707/v1.12.1-ga9117d3"},"ram_total":52384,"ram_free":40780,"fs_size":233681,"fs_free":155620,"uptime":74}
26.00 Temperatur
30.5
100
Skript beendet
Hallo Stefan,
Das Skript ist 1zu1 das aus der Anleitung und nur das Setup angepasst.
Eine Systemvariable mit „Temperatur“ habe ich nicht in Verwendung.
Hier das Skript:
!Skript V2.3.2 zur Gesamt-Datenübernahme vom Shelly H&T mit Originalfirmware (c) 2020 by 66er (alias Stefan K.)
! Publiziert und Updates auf https://smarthome-forum.eu/forum/index.ph…/145-homematic/
!Versionsdatum 09.12.21
!HT1 = Name des Gerätes, kann angepasst werden
!**** SETUP ******** SETUP ******** SETUP ******** SETUP ***
! ACHTUNG: Beim Anpassen der Adressen keine "" löschen!
! Setup der CUxD-GERÄTE
var url = "http://192.168.178.xyz/status"; ! IP-Adresse des Shelly H&T anpassen
var execht = "CUxD.CUX2801001:4"; ! Adresse und Kanal des CUxD-Exec-Device angeben
var shellyht = "CUxD.CUX9002001:1"; ! Adresse und Kanal des CUxD-Device für den Shelly H&T anpassen
!Setup der SYSTEMVARIABLEN
var htlf = "ShellyHT_WZ_LF"; ! Name der Systemvariablen anpassen
var htbs = "ShellyHT_WZ_SBAT"; !Name der Systemvariablen anpassen
var htv = "ShellyHT_WZ_UBAT"; !Name der Systemvariablen anpassen
!****ENDE SETUP ********ENDE SETUP ********ENDE SETUP ******
!Abfrage des Shelly H&T
dom.GetObject(""#execht#".CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject(""#execht#".CMD_QUERY_RET").State(1);
string Antwort = dom.GetObject(""#execht#".CMD_RETS").State();
string t = dom.GetObject(""#execht#".CMD_RETS").State();
dom.GetObject(""#execht#".CMD_SETS").State("0");
!WriteLine(Antwort);
! Temperatur
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"tC"')) {
string e = (s.StrValueByIndex (":",1).RTrim ("}"));
! WriteLine(e);
}
}
! Temperatur im CUxD-Gerät setzen
dom.GetObject(""#shellyht#".SET_TEMPERATURE").State(e);
! Luftfeuchte
string word = "hum";
integer word_laenge = word.Length();
integer word_position = Antwort.Find(word);
string daten = Antwort.Substr((word_position + word_laenge +11), 4);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -3));
! WriteLine(daten); ! = Luftfeuchte
!Luftfeuchte in der Systemvariablen setzen
dom.GetObject(""#htlf#"").State(daten);
! Batterie-Status
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"bat"')) {
string e = (s.StrValueByIndex (":",2).RTrim (","));
! WriteLine(e);
}
}
! %-Angabe in der Systemvariablen setzen
dom.GetObject(""#htbs#"").State(e);
! Batteriespannung
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"bat"')) {
string e = (s.StrValueByIndex (":",2).RTrim (","));
! WriteLine(e);
}
}
! WriteLine(daten);
string word = "voltage";
integer word_laenge = word.Length();
integer word_position = Antwort.Find(word);
string daten = Antwort.Substr((word_position + word_laenge +2), 4);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -3));
! WriteLine(daten); ! = Batterie-Spannung
! Batteriespannung in der Systemvariablen setzen
dom.GetObject(""#htv#"").State(daten);
daten = "0";
!Ende Skript
Hallo Stefan,
Hier das Ergebnis:
{"wifi_sta":{"connected":true,"ssid":"xyz","ip":"xyz","rssi":-54},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"18:46","unixtime":1678556760,"serial":1,"has_update":false,"mac":"4855190248F7","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"is_valid":true,"tmp":{"value":25.62,"units":"C","tC":25.62,"tF":78.12,"is_valid":true},"hum":{"value":30.5,"is_valid":true},"bat":{"value":100,"voltage":2.96},"act_reasons":["button"],"connect_retries":0,"sensor_error":0,"update":{"status":"unknown","has_update":false,"new_version":"","old_version":"20221027-092707/v1.12.1-ga9117d3"},"ram_total":52384,"ram_free":40792,"fs_size":233681,"fs_free":155620,"uptime":4}
25.62
30.5
100
100
2.96
Habe auch mal einen Screenshot vom CuxD-Gerät gemacht.
Danke!
Gruß,
Kleppers
Hallo,
Habe nach Anleitung (v2) meinen ersten H&T in Homematic eingebunden.
Leider wird bei der Temperatur ständig nur 0grad angezeigt, restliche Werte (Luftfeuchte, Batterie-Status und -Spannung) werden korrekt angezeigt.
Hat jemand einen Tip wo der Fehler liegen könnte?
Danke!
Gruß,
Kleppers
Hallo,
Will in meiner Homematic Haussteuerung (ca. 230 Aktoren& Sensoren) meine kleine Obergeschosswohnung mit Shellys realisieren. Sind in Summe:
10x Fensterkontakt
7x Shelly 2.5 für Rollos
6x Shelly 1 für Licht
Ich habe schon einen Shelly 1 für mein Garagentor eingebunden.
Jetzt verstehe ich es so das ich mehrere CuxD Fernbedienungen brauche (2 Stück = 32 Kanäle). Wie verhält es sich aber mit der CuxD-Exec? Reicht da eine?
Ebenso in Richtung Statusabfrage. Ich frage aktuell alle 20s den Status vom Tor ab, kann ich in das Intervall alle Kanäle noch einfügen oder geht da die CCU2 in die Knie?
Danke für eure Hilfe/ Tips.