heute mal keine Frage, sondern direkt eine Lösung für diejenigen, die den Status (Aus-/Eingeschaltet) eines Samsung-Fernserhers in Loxone benötigen. Und zwar geht das auch mit den aktuellen Modellen - meiner ist aus 2022.
Bisher hatte ich es mit dem Ping-Baustein gelöst, allerdings hat der auch "reagiert", wenn Sendungen aufgenomen wurden. Ebenso lieferte mein Samsung auch noch einige Minuten nach dem Ausschalten ein Ping. Dadurch war die Funktion nicht ganz zuverlässlich.
Nun habe ich eine Variante gefunen, die direkt den Powerzutsand des Fernsehers ausliest.
Es muss ein "Virtueller HTTP Eingang" angelegt werden.
Dort als URL http://IP-Adresse:8001/api/v2/ hinterlegen.
Ggf. die Anzahl der erlaubten Timeouts auf 0 setzen, damit keine Systemfehlermeldung in der App angezeigt wird, wenn die URL mal nicht erreichbar ist - z.B. wenn man den Fernseher stromlos macht.
Dann einen "Virtueller HTTP Eingang Befehl" anlegen.
Dort als Befehlserkennung "PowerState":"\.\1" (ohne Anführungszeichen) eintragen.
Bei der Korrektur folgendes eintragen:
Eingangswert 1: 116
Zielwert 1: 0
Eingangswert 1: 110
Zielwert 1: 1
Jetzt kann man über diesen Baustein direkt abrufen, ob der Fernseher eingeschaltet (1) ist oder nicht (0).
Erläuterung:
Bei mir wird über http://IP-Adresse:8001/api/v2/ eine Datei angezeigt, in der entweder
"PowerState":"standby"
oder
"PowerState":"on"
enthalten ist.
Da die Befehlserkennung von einem "Virtueller HTTP Eingang Befehl" nur Werte und keine Texte ermitteln kann, frage ich den 2. Buchstaben von "standby" bzw. "on" ab und lasse ihn als ASCII-Zahlenwert ausgeben.
Warum den 2. Buchstaben? - Villeicht gibt es den Zustand "off" und dann hätte der den gleichen Anfangsbuchstaben wie "on". Ist unwahrscheinlich, weil bei "off" auch die Website nicht mehr erreichbar wäre, aber um auf Nummer sicher zu gehen.
Der ASCII-Wert von "t" aus "standby" ist 116.
Der ASCII-Wert von "n" aus "on" ist 110.
Damit ich nun direkt eine 1 oder 0 als Ausgabe erhalte, ob der Fernseher nun an oder aus ist, "missbrauche" ich die Korrekturfunktion und gebe beim Eingangs-ASCII-Wert 116 eine 0 aus und beim Eingangs-ASCII-Wert 110 ein 1 aus.
Ich hoffe, das hilft hier dem ein oder anderen und freue mich auch auf eine Rückmeldung, ob es bei anderen auch klappt.
Viele Grüße
Jan
Kommentar