NEWS
Einfache Temperatursteuerung geht nicht
-
Ich stehe irgendwie auf dem Schlauch,
ich möchte über eine HmIP Wandthermostat die Temperatur abfragen und eine HmIP Steckdose schalten, eigentlich ganz einfach dachte ich, bei 25C geht die Steckdose auch aus aber bei 25.5C nicht wieder an. Ich habe schon mehrere Skripte probiert, auch fertige, nix geht.
Zum verzweifeln. -
@ceulem
Ist die Temperatur nicht eine Zahl?
Versuche die grünen Textbausteine gegen Zahl auszutauschen.
Zahl findest du unter Mathematik. -
@tritor hatte ich auch schon, da ist die Steckdose weder an noch aus gegangen.
-
Probier es mal mit einem Komma.
25,5
Und tatsächlich wäre der Matheblock der Richtige.
https://forum.iobroker.net/topic/28318/temperatur-gesteuertes-schalten-switch-1-0-c
-
@ceulem sagte in Einfache Temperatursteuerung geht nicht:
@tritor hatte ich auch schon, da ist die Steckdose weder an noch aus gegangen.
nein, muss Zahl sein.
hmip über ccu?
-
@homoran ja, über ccu
-
@ceulem sagte in Einfache Temperatursteuerung geht nicht:
@homoran ja, über ccu
dann muss die Ursache woanders sein!
welche Kanäle hat der Schaltaktor?
ist 3 ein Schaltkanal? (oder nur die Zustandsanzeige)? -
@homoran 3 ist der Schaltkanal.
-
@ceulem dann noch mal auf zahlen ändern und debug Bausteine setzten um zu sehen wo es hängt
-
@ceulem sagte: eine HmIP Steckdose schalten
Bei HmIP auch an den Duty cycle denken, d.h. nur dann Senden, wenn sich der Zustand des Aktors ändern soll.
Wert findet man unter "Trigger".
-
@paul53 Stimmt, habe ich nicht dran gedacht. Wo ich allerdings noch ein wenig auf dem Schlauch stehe, im letzten Block deines Skriptes "vom Objekt ID" kommt wieder der Temperatur Sensor rein oder?
-
@ceulem sagte: "vom Objekt ID" kommt wieder der Temperatur Sensor rein oder?
Nein, der Aktor. Ich dachte, dass die Aussage "nur dann Senden, wenn sich der Zustand des Aktors ändern soll", dies erklärt.
-
@paul53 Das Skript funktioniert bei mir nicht und für zu einer Fehlermeldung
Mit den debug blöcken kenn ich mich garnicht aus.So sieht das Skript aktuell aus:
var Aktor, Wert; on({id: 'hm-rpc.1.000A9A49A4D2B9.1.ACTUAL_TEMPERATURE', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (Wert <= 25) { Aktor = false; } else if (Wert >= 25.5) { Aktor = true; } if (Aktor != getState("hm-rpc.1.0001D3C99C77A2.3.STATE").val) { setState("hm-rpc.1.0001D3C99C77A2.3.STATE"/*HMIP-PSM 0001D3C99C77A2:3.STATE*/, Aktor); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyWHI5VHdoViU2MCUzQWk2eV9sKGRZdm0lM0QlMjIlM0VBa3RvciUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMkNqRlIlN0QoJTdESiUyNSU2MEclMjNOJTJCJTJCNElXQ0wlMjIlM0VXZXJ0JTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMiElM0YoJTNCd0JiOEcweDg0JTVFZjZZJTVCTHglMjIlMjB4JTNEJTIyLTY4OCUyMiUyMHklM0QlMjItNTg3JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMmolMjNzQjF6Y08lM0QlM0RtN1VZYjAlNURmNEUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VobS1ycGMuMS4wMDBBOUE0OUE0RDJCOS4xLkFDVFVBTF9URU1QRVJBVFVSRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMiU0MGUlMkZpQ083a2o5JTdEJTNCSlklN0IlM0RTTDAuJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlaWYlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIwNmglN0RCUGdTNmRkalJzJTJGcU0lMjU5ISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTFRFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIySCklM0JnNWIlNUJ+JTJDJTNBfiU1RSUyNTRFJTQwQ3kuJTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJDakZSJTdEKCU3REolMjUlNjBHJTIzTiUyQiUyQjRJV0NMJTIyJTNFV2VydCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTNEMC4lM0RrJTVESSUyM2ElM0ZQUSp0JTI1cTQlM0JWQyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTI1JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJmKTQueX45NUo1MEdpNXhlJTQwN3UlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMlhyOVR3aFYlNjAlM0FpNnlfbChkWXZtJTNEJTIyJTNFQWt0b3IlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyUTAhRFpMKjRPJTVFTzElM0FwLkhBMjElNUQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMk9+WXd5QyU3QygweWoqdGpIJTJCS1d+aCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1RFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyZEVBJTNCUndJRSUyQlNWN0NhciUyQiUzRlJJJTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJDakZSJTdEKCU3REolMjUlNjBHJTIzTiUyQiUyQjRJV0NMJTIyJTNFV2VydCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyaGhRM1BTfkFDLXMlNUQpTTViRSU0MGN3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjUuNSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8xJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyVG5KMSl3KnJOJTJCNk4wJTIzJTdEWXNlZFAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMlhyOVR3aFYlNjAlM0FpNnlfbChkWXZtJTNEJTIyJTNFQWt0b3IlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTJGc2tlJTNBWkkhcGMlMkI0KE5lJTQwJTI0dVNqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIybiUzRCU3RCpINVdTeX5WSFNmJTNEJTNCLkNFSiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMmgxSzIlNDBjJTQwbCUyM3M4T1hjJTYwKVBuJTNCRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTkVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyaSU1RCUzQmx+MDkqR2ooUE9LKDNYV0RSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJYcjlUd2hWJTYwJTNBaTZ5X2woZFl2bSUzRCUyMiUzRUFrdG9yJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyOVRKJTdDNV9lKG10aDklM0FqJTIzJTJDeG5LeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhtLXJwYy4xLjAwMDFEM0M5OUM3N0EyLjMuU1RBVEUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMnR2KWxFWVp0JTVCbCUyRig2JTdESXBSaSUyNC0lMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VobS1ycGMuMS4wMDAxRDNDOTlDNzdBMi4zLlNUQVRFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyYmslMjVlVDA0amZZcERTM00lN0IlMkMuWCU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyWHI5VHdoViU2MCUzQWk2eV9sKGRZdm0lM0QlMjIlM0VBa3RvciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
-
Das Skript funktioniert schon. Allerdings hat das Skript eine Lücke:
Die Variable Aktor ist nicht definiert wenn die Temperatur zwischen 25 und 25.5 Grad liegt.
Genau darüber beschwert sich das Skript. Ich würde als ersten Block im Skript die Variable Aktor mit dem Wert von 'hm-rpc.1.0001D3C99C77A2.3.STATE' vorgelegen.
Dann sollte es gehen.
A.
-
@ceulem Ich kenne nur javascript ein wenig...
In Zeile 1 erstellst du die Variable Wert, ohne einen Inhalt zuzuweisen.In Zeile 7 prüfst du, ob Wert <= 25 ist. Aber was genau steht in Wert?
Ersetzte in Zeile 5 das value durch Wert, dann sollte es passen, zumindest was die Prüfung angeht.
Warum muss die zweite Prüfung eine else if sein?
Reicht nicht an else bei einem Wert >25?Der Fehler besagt aber, dass Aktor beim setState in Zeile 13 das falsche Format hat.
Zeile 2 z.B.var Aktor = new Boolean(false);
Und Aktor aus Zeile 1 löschen.
-
@ceulem sagte: So sieht das Skript aktuell aus:
Wert darf keine selbst erstellte Variable sein, sondern unter "Trigger":
Initialisiere die Variable Aktor außerhalb des Trigger-Blockes auf den Wert des Aktors.
-
@paul53 Danke, so scheint es jetzt zu funktionieren. Es gibt zwar eine Verzögerung, aber damit kann ich leben.