HmIP-STHO und HmIP-SMI Suche CCU3-Script zum Auslesen von Temperatur, Feuchte und Lichtstärke
Haben Sie die gleiche Frage? Dieser Frage folgen
6Antworten
Antworten
Feb 28, 2019 - 08:05
Von auf 28.02.2019 08:37:04 | Gefällt mir (0) | Melden
Nein, die Anzeige von Temperatur, Luftfeuchte und Helligkeit erscheint nur im WebUI in der Gerätedarstellung oder in der TinyMatic-App unter Geräte in Räumen. In der AIO Remote App müsste die Zeichenkette erst zur Anzeige gebracht werden.
Von auf 28.02.2019 08:41:44 | Gefällt mir (0) | Melden
https://homematic-forum.de/forum/viewtopic.php?t=42610
Von auf 28.02.2019 08:44:10 | Gefällt mir (0) | Melden
https://homematic-forum.de/forum/viewtopic.php?t=32412
Von auf 28.02.2019 09:10:20 | Gefällt mir (0) | Melden
Danke. Ich probiere es heute Abend aus.
Von auf 28.02.2019 16:49:43 | Gefällt mir (0) | Melden
es klappt bei mir leider garnicht, in der Systemvariable bleiben die -40.00 stehen
Von auf 01.03.2019 01:45:05 | Gefällt mir (0) | Melden
klappt nicht reicht nicht...zeige das script was nicht geht...
Von auf 01.03.2019 04:24:13 | Gefällt mir (0) | Melden
Ich habe folgenden script getestet, ohne Erfolg, es verbleibt der Wert -40.00 in der Systemvariable Aussen-Temp:
! Temperatur von Fühler
var t = dom.GetObject("HmIP-RF.xxxxxxxxxxxxxx:1.ACTUAL_TEMERATURE").Value();
! In SV "Temp-Aussen" schreiben
dom.GetObject("Temp-Aussen").State(t);
Was ist hier falsch?
Von auf 01.03.2019 04:27:28 | Gefällt mir (0) | Melden
ok
teste erstmal in ccu bei script testen das
var t = dom.GetObject("HmIP-RF.xxxxxxxxxxxxxx:1.ACTUAL_TEMERATURE").Value();
WriteLine(t);
was wird ausgegeben?
Von auf 01.03.2019 05:30:43 | Gefällt mir (0) | Melden
es wird nichts ausgegeben
Von auf 01.03.2019 05:39:36 | Gefällt mir (0) | Melden
var t = dom.GetObject("HmIP-RF.xxxxxxxxxxxxxx:2.ACTUAL_TEMERATURE").Value();
WriteLine(t);
Von auf 01.03.2019 05:43:59 | Gefällt mir (0) | Melden
es muss aber mit 1 funktionieren
du muchst auch dein gerät eintragen
HmIP-RF.xxxxxxxxxxxxxx:1.ACTUAL_TEMERATURE
Von auf 01.03.2019 05:46:32 | Gefällt mir (0) | Melden
da wird auch nichts ausgegeben
Von auf 01.03.2019 05:47:15 | Gefällt mir (0) | Melden
klar gebe ich mein Gerät ein
Von auf 01.03.2019 05:49:34 | Gefällt mir (0) | Melden
bist du sicher das du richtige nummer eingibst
brauchst nicht zu verstecken...zeig mal vollen script und auch webui bild von dem gerät wo man die seriennummer sehen kann
Von auf 01.03.2019 06:05:55 | Gefällt mir (0) | Melden
schicke ich dir heute Abend, geht nicht vom Handy aus
Von auf 01.03.2019 06:07:43 | Gefällt mir (0) | Melden
normalerweise wenn du richtig eingetragen hast dann muss dort die temperatur ausgegeben werden.
Von auf 01.03.2019 06:20:47 | Gefällt mir (0) | Melden
var ipserial = (datapoints.Get("HmIP-RF.0001D3C990BFAC:1.ACTUAL_TEMERATURE ")).Value();
WriteLine(ipserial);
versuche das...die seriennummer anpassen an deine
Von auf 01.03.2019 07:10:15 | Gefällt mir (0) | Melden
jetzt bin ich völlig verwirrt, welche Seriennummer muss wo hin?
Von auf 01.03.2019 07:11:09 | Gefällt mir (0) | Melden
0001D3C990BFAC
ist in dem beispiel die seriennummer
Von auf 01.03.2019 07:12:18 | Gefällt mir (0) | Melden
HmIP-RF.seriennummerdesgerätes:1.ACTUAL_TEMERATURE ")).Value();
Von auf 01.03.2019 07:13:00 | Gefällt mir (0) | Melden
was hast du oben bei xxxxxxxxxxxx eingetragen?????? :)
Von auf 01.03.2019 07:17:28 | Gefällt mir (0) | Melden
oben hatte ich auch die Seriennummer eingetragen
Von auf 01.03.2019 07:19:11 | Gefällt mir (0) | Melden
dann muss es gehen...entweder schreibst du sie falsch oder es is nicht die von dem gerät.
hast du gesehen des in dem homematic forum thread ging.
Von auf 01.03.2019 07:27:01 | Gefällt mir (0) | Melden
ja, habe ich gesehen, deshalb bin ich ja so verzweifelt, dass es bei mir nicht geht; ich mache heute Abend weiter
Von auf 01.03.2019 07:27:52 | Gefällt mir (0) | Melden
ok
Neuen Kommentar hinzufügen
Mrz 01, 2019 - 16:14
Von auf 02.03.2019 02:35:23 | Gefällt mir (0) | Melden
das sind meine aktuellen snapshots vom Test möglicher scripte zum Auslesen der Temperatur aus dem HmIP-STHO in eine Variable; ich bekomme kein Ergebnis; allerdings verwundert mich auch Folgendes:
CCU3 Aktuelle Firmwareversion: 3.43.15
scrip testen unter Programme scheint bei mir überhaupt nicht zu laufen, selbst scripte, die in Programmen ein Ergebnis liefern, laufen nicht; ich weiß nicht, woran das liegt
Von auf 02.03.2019 08:11:45 | Gefällt mir (0) | Melden
woran es liegt kann ich dir leider nicht sagen.
du kannst aber das script so testen....ein programm erzeugen z.b wenn zeit eintrifft oder manuel auslösen oder über einen schalter... dann aktion script:
! Temperatur von Fühler
var t = dom.GetObject("HmIP-RF.xxxxxxxxxxxxxx:1.ACTUAL_TEMERATURE").Value();
! In SV "Temp-Aussen" schreiben
dom.GetObject("Temp-Aussen").State(t);
du musst eine variable anlegen mit demn namen
Temp-Aussen
vom typ zahl
wenn das programm ausgeführt wird musste die variable dann den wert der temperatur annehmen.
Neuen Kommentar hinzufügen
Mrz 02, 2019 - 08:43
Von auf 02.03.2019 08:44:08 | Gefällt mir (0) | Melden
da waren wir bereits, der Temperaturwert in der Variable ändert sich nicht
Von auf 02.03.2019 08:54:51 | Gefällt mir (0) | Melden
hast du die ccu neugestartet????
es gibt ein addon erweiterter scriptparser...installiere das und prüfe das script damit.
https://homematic-forum.de/forum/viewtopic.php?f=41&t=7014
Von auf 02.03.2019 08:59:04 | Gefällt mir (0) | Melden
und kannst du das script soi testen???
! Temperatur von Fühler
var t = dom.GetObject("HmIP-RF.xxxxxxxxxxxxxx:1.ACTUAL_TEMERATURE").State();
! In SV "Temp-Aussen" schreiben
dom.GetObject("Temp-Aussen").State(t);
im script testen fenster
Neuen Kommentar hinzufügen
Mrz 02, 2019 - 09:50
Von auf 02.03.2019 09:51:13 | Gefällt mir (0) | Melden
auch hier tut sich nichts
Von auf 02.03.2019 09:51:49 | Gefällt mir (0) | Melden
hat sich jetzt die variable verändert????
Von auf 02.03.2019 09:53:37 | Gefällt mir (0) | Melden
wieso steht im script ist-temperatur und nicht ACTUAL_TEMPERATURE????
Neuen Kommentar hinzufügen
Mrz 02, 2019 - 09:57
Von auf 02.03.2019 09:58:25 | Gefällt mir (0) | Melden
sorry, das hier ist das Ergebnis im script executor
Von auf 02.03.2019 09:59:18 | Gefällt mir (0) | Melden
also geht doch....hast du gabnze zeit ist verwendet???
Von auf 02.03.2019 10:00:31 | Gefällt mir (0) | Melden
da t null ist ist doch ein fehler...
benutze statt .value()
State() in der zweiten zeile
Von auf 02.03.2019 10:03:50 | Gefällt mir (0) | Melden
also so meine ich
var t = dom.GetObject("HmIP-RF.xxxxxxxxxxxxxx:1.ACTUAL_TEMERATURE").State();
und xxxxxxx deine snr.
Von auf 02.03.2019 10:06:51 | Gefällt mir (0) | Melden
nein, habe mit ist-temperatur nur mal getestet;
t bleibt null auch mit State()
Von auf 02.03.2019 10:07:46 | Gefällt mir (0) | Melden
gib das ein:
var t = 25;
WriteLine(t);
Von auf 02.03.2019 10:10:07 | Gefällt mir (0) | Melden
poste die antwort als text hier...
Von auf 02.03.2019 10:12:25 | Gefällt mir (0) | Melden
dann kommt in der Ausgabe 25
Von auf 02.03.2019 10:14:26 | Gefällt mir (0) | Melden
jetzt das
var t = 10;
dom.GetObject("Temp-Aussen").State(t);
WriteLine(t);
hat sich die variable verändert von -40 auf 10???
Von auf 02.03.2019 10:17:33 | Gefällt mir (0) | Melden
ja, jetzt steht 10 in der Variable
Von auf 02.03.2019 10:18:35 | Gefällt mir (0) | Melden
ok warte mal kurz
Von auf 02.03.2019 10:27:17 | Gefällt mir (0) | Melden
ist die seriennummer richtig geschrieben von deinem gerät???
die scripte funktionieren wie du siehst
teste nochmal das
var t = dom.GetObject("Temp-Aussen").State();
var nk = 11;
dom.GetObject("Temp-Aussen").State(t+nk);
WriteLine(t);
WriteLine(nk);
Von auf 02.03.2019 10:27:49 | Gefällt mir (0) | Melden
was steht jetzt in der variable???
Von auf 02.03.2019 10:32:03 | Gefällt mir (0) | Melden
die Seriennummer ist richtig geschrieben;
jetzt steht 21.00 °C in der Variable;
in der Ausgabe steht 10.000000 und darunter 11
Von auf 02.03.2019 10:37:14 | Gefällt mir (0) | Melden
also funktioniert es mit scripten....
warte nochmal kurz
und suche dein gerät in der ccu, wie heisst es genau...welchen namen hast du vergeben?
Von auf 02.03.2019 10:38:51 | Gefällt mir (0) | Melden
siehe oben, snapshot von gestern Abend von der Gerätekonfiguration
Von auf 02.03.2019 10:45:26 | Gefällt mir (0) | Melden
ok jetzt bennenst du alle nacheinander auf
Sensor_1
Sensor_2
Sensor_3
in dem du drauf klickst und schreibest den namen neu mit ok bestätigen
Von auf 02.03.2019 10:49:50 | Gefällt mir (0) | Melden
danach machst du im script parser diese zeile:
var t = dom.GetObject("Sensor_1").DPByHssDP("ACTUAL_TEMPERATURE").Value();
und ausführen----kommt null dann schreibst du Sensor_2 und testest, sonst Sensor_3
Von auf 02.03.2019 10:55:30 | Gefällt mir (0) | Melden
mit Sensor_1 kommt in der Ausgabe:
{
"t": "5.500000",
"sessionId": "",
"httpUserAgent": "",
"STDOUT": ""
}
das sieht schon sehr gut aus?
Von auf 02.03.2019 10:55:43 | Gefällt mir (0) | Melden
bist du noch da :) ????
Von auf 02.03.2019 10:57:56 | Gefällt mir (0) | Melden
ja
ok
jetzt wo sensor_1 steht umbenennen auf Temperatur_Wert
und das testen
var t = dom.GetObject("Temperatur_Wert").DPByHssDP("ACTUAL_TEMPERATURE").Value();
Von auf 02.03.2019 10:58:16 | Gefällt mir (0) | Melden
neeeeee
neeee
Von auf 02.03.2019 10:59:44 | Gefällt mir (0) | Melden
das testen
var t = dom.GetObject("Sensor_1").DPByHssDP("HUMIDITY").Value();
Von auf 02.03.2019 11:00:15 | Gefällt mir (0) | Melden
da wäre t auch wieder gleich 0
Von auf 02.03.2019 11:00:24 | Gefällt mir (0) | Melden
wenn null kommt dann sensor2 oder sensor3 testen
Von auf 02.03.2019 11:01:25 | Gefällt mir (0) | Melden
wo ist t 0
du musst angeben worauf du dich beziehst :)
Von auf 02.03.2019 11:02:48 | Gefällt mir (0) | Melden
mit Sensor:
{
"t": "58",
"sessionId": "",
"httpUserAgent": "",
"STDOUT": ""
}
das sieht auch gut aus?
Von auf 02.03.2019 11:04:01 | Gefällt mir (0) | Melden
mit Sensor oder Sensor_1
Von auf 02.03.2019 11:04:31 | Gefällt mir (0) | Melden
var t = dom.GetObject("Temperatur_Wert").DPByHssDP("ACTUAL_TEMPERATURE").Value();
da wäre t auch wieder gleich 0
Von auf 02.03.2019 11:06:26 | Gefällt mir (0) | Melden
sorry, mit Sensor_1
Von auf 02.03.2019 11:07:06 | Gefällt mir (0) | Melden
ok ok
du hast aber noch nicht umbennant von Sensor_1 und lass es so es funktioniert schon mal
jetzt teste das nochmal:
string auswahl = "KEQ0968370";
! +++++++++++++++++++
string index;
string liste = dom.GetObject(ID_DATAPOINTS).EnumUsedNames();
foreach (index, liste) {
var sserial = (index.StrValueByIndex(":",0).StrValueByIndex(".",1));
if (sserial == auswahl) {
Write(index #"\n");
}
}
bei KEQxxxxxxx gibst du deine seriennummer von deinem gerät und testest
Von auf 02.03.2019 11:09:14 | Gefällt mir (0) | Melden
poste hier das ergebniss
Von auf 02.03.2019 11:12:18 | Gefällt mir (0) | Melden
HmIP-RF.000ED8A9AB8ECC:0.CONFIG_PENDING
HmIP-RF.000ED8A9AB8ECC:0.DUTY_CYCLE
HmIP-RF.000ED8A9AB8ECC:0.ERROR_CODE
HmIP-RF.000ED8A9AB8ECC:0.LOW_BAT
HmIP-RF.000ED8A9AB8ECC:0.OPERATING_VOLTAGE
HmIP-RF.000ED8A9AB8ECC:0.OPERATING_VOLTAGE_STATUS
HmIP-RF.000ED8A9AB8ECC:0.RSSI_DEVICE
HmIP-RF.000ED8A9AB8ECC:0.RSSI_PEER
HmIP-RF.000ED8A9AB8ECC:0.TEMPERATURE_OUT_OF_RANGE
HmIP-RF.000ED8A9AB8ECC:0.UNREACH
HmIP-RF.000ED8A9AB8ECC:0.UPDATE_PENDING
HmIP-RF.000ED8A9AB8ECC:1.ACTUAL_TEMPERATURE
HmIP-RF.000ED8A9AB8ECC:1.ACTUAL_TEMPERATURE_STATUS
HmIP-RF.000ED8A9AB8ECC:1.HUMIDITY
HmIP-RF.000ED8A9AB8ECC:1.HUMIDITY_STATUS
Von auf 02.03.2019 11:14:14 | Gefällt mir (0) | Melden
warte kurz
Von auf 02.03.2019 11:17:05 | Gefällt mir (0) | Melden
! Temperatur von Fühler
var t = dom.GetObject("HmIP-RF.000ED8A9AB8ECC:1.ACTUAL_TEMPERATURE").Value();
! In SV "Temp-Aussen" schreiben
dom.GetObject("Temp-Aussen").State(t);
teste das
und das
! Temperatur von Fühler
var t = dom.GetObject("HmIP-RF.000ED8A9AB8ECC:1.HUMIDITY").Value();
! In SV "Temp-Aussen" schreiben
dom.GetObject("Temp-Aussen").State(t);
Von auf 02.03.2019 11:22:31 | Gefällt mir (0) | Melden
bei Temperatur:
{
"t": "5.400000",
"sessionId": "",
"httpUserAgent": "",
"STDOUT": ""
}
bei Feuchtigkeit:
{
"t": "57",
"sessionId": "",
"httpUserAgent": "",
"STDOUT": ""
}
Von auf 02.03.2019 11:23:39 | Gefällt mir (0) | Melden
also wo lag der fehler???????
Von auf 02.03.2019 11:27:11 | Gefällt mir (0) | Melden
der einzige Unterschied ist, dass jetzt die Geräte Sensor_x heißen
Von auf 02.03.2019 11:27:54 | Gefällt mir (0) | Melden
nein nein nein
Von auf 02.03.2019 11:28:11 | Gefällt mir (0) | Melden
du hast etwas falsch geschrieben
Von auf 02.03.2019 11:28:55 | Gefällt mir (0) | Melden
du kannst sie auch A..loch bennen :)
trotzdem wird es klappen
Von auf 02.03.2019 11:29:16 | Gefällt mir (1) | Melden
egal
du musst jetzt im program so vorgehen
Von auf 02.03.2019 11:31:29 | Gefällt mir (0) | Melden
auf jeden Fall vielen Dank für Deine Ausdauer und Hilfe!
Von auf 02.03.2019 11:32:29 | Gefällt mir (1) | Melden
wie du siehst geht es doch....etwas hast du doch falsch geschrieben..... :)
weisst du wie du es im programm bbenutzst???
Von auf 02.03.2019 11:34:10 | Gefällt mir (0) | Melden
der Rest geht klar, wenn nicht melde ich mich wieder ; - )
Neuen Kommentar hinzufügen
Von
und like button nicht vergessen :)
Neuen Kommentar hinzufügen