NEWS
USV Telegram meldung geht nicht, Wert wird nicht erkannt
-
Hallo zusammen
ich habe folgendes Problem, bzw. sehe/finde ich den Fehler nicht. Bei meinen anderen Scripts läuft alles, einzige unterschied zum folgenden Script ist das hier der Wert in der Objekttabelle nicht true/fals ist, sondern ONLINE oder ONBATT.
Ich habe schon gegoogelt und gefunden das es ein Textfeld sein müsse oder statt "wurde geändert" auf "wurde aktualisiert" gestellt werden sollte, beides geht nicht.
Er meldet sofort bei Stromausfall "Netzversorgung" und beachtet den ersten Teil nicht.
Es handelt sich um eine ACP USV, die via apcupsd ausgelesen wird.
Vielen Dank schonmal im Voraus!
Gruß
Willi -
@willi90 sagte in USV Telegram meldung geht nicht, Wert wird nicht erkannt:
das hier der Wert in der Objekttabelle nicht true/fals ist, sondern ONLINE oder ONBATT.
wie sehen die Objektdaten aus?
bitte in code-tags posten -
Hier der Code:
-
@willi90 sagte in USV Telegram meldung geht nicht, Wert wird nicht erkannt:
Hier der Code:
kann ich am Handy nicht entziffern!
@homoran sagte in USV Telegram meldung geht nicht, Wert wird nicht erkannt:
bitte in code-tags posten
EDIT:
Scheinen auch nicht die Objektdaten zu sein -
Hier nochmal als Text
console.log('Trigger AN oder AUS'); if (getState("apcups.0.status").val == 'ONBATT') { sendTo("telegram.0", "send", { text: 'Achtung: Stromausfall!' }); console.log('Achtung: Stromausfall!'); } else { console.log('Netzversorgung'); sendTo("telegram.0", "send", { text: 'Netzversorgung' }); } });
-
@willi90 sagte in USV Telegram meldung geht nicht, Wert wird nicht erkannt:
Hier nochmal als Text
schon besser.
die code-tags habe ich jetzt für dich hinzugefügt.Aber wie vermutet sind das nicht die Objektdaten von dem Datenpunkt im Trigger
-
ah ok, Danke schonmal aber ab hier verstehe ich nur noch Bahnhof
Was muss ich den anders machen? Einen Datenpunkt erstellen der dann auf true springt, wenn der Wert von der USV auf ONBATT springt?
-
@willi90 statt im Trigger wieder den Wert auszulesen (ist doch der gleiche Datenpunkt auf den auch der Trigger reagiert, oder?) nutze doch aus dem Trigger Menü das "Objekt ID" Element:
Im Dropdown kannst du das auf "Wert" umstellen - dann erhälts du den Wert auf dessen Grund hin der Trigger ausgelöst hat, nicht was du dann ausliest:
Dann machts du dir noch ein Debug davon:
und kannst so prüfen ob der Text den du erwartest auch wirklich so kommt oder ob da noch Leerzeichen etc sind. -
@willi90 sagte in USV Telegram meldung geht nicht, Wert wird nicht erkannt:
Was muss ich den anders machen?
mir erst einmal die Objejtdaten des Triggerdatenpunktes zeigen!
erst dann kann man helfen.Datenpunkt -> rechts auf den Bleistift -> Objektdaten -> kopieren und in code-tags posten
-
@bananajoe das mit dem debug wäre die Alternative, hätte ich am Handy aber wahrscheinlich nicht ausreichend erklärt bekommen
-
Hier Objektdaten aus dem Datenpunkt:
{ "type": "state", "common": { "name": "UPS status (online, charging, on battery etc)", "type": "string", "role": "state", "read": true, "write": false }, "native": {}, "from": "system.adapter.apcups.0", "user": "system.user.admin", "ts": 1661195186597, "_id": "apcups.0.status" }
-
@bananajoe Danke! & auch an @Homoran
Durch deinen Tip mit den debug habe ich gesehen das es noch hinter dem ONBATT ein Leerzeichen gab! Dieses habe ich ergänzt, schon geht es!
-
@willi90 sagte in USV Telegram meldung geht nicht, Wert wird nicht erkannt:
Hier Objektdaten aus dem Datenpunkt:
danke!
@willi90 sagte in USV Telegram meldung geht nicht, Wert wird nicht erkannt:
"type": "string",
das wollte ich sehen, dass da keine Werteliste ist.
@willi90 sagte in USV Telegram meldung geht nicht, Wert wird nicht erkannt:
das es noch hinter dem ONBATT ein Leerzeichen gab! Dieses habe ich ergänzt, schon geht es!
so muss es sein