Hallo,
welche Möglichkeiten gibt es für Apps, um mit FHEM zu kommunizieren?
Ich kenne jsonlist (zum auslesen der gesamten Konfiguration) sowie ...XHR=1&cmd=... (zum senden von Befehlen).
Mir wäre es wichtig, dass die Kommunikation möglichst wenig Daten verbraucht und trotzdem vollständig ist.
Ist das mit den beiden Methoden möglich oder gibt es da etwas besseres?
Ich habe leider nur sehr wenig Dokumentation über jsonlist/jsonlist2 gefunden.
Vielen Dank.
na dann bietet sich doch telnet an :)
Abfragen kann man die Daten ueber die Kanaele HTTP/HTTPS via FHEMWEB und TCP/SSL via telnet, und das kann als JSON (jsonlist2) oder XML (xmllist) oder gar nicht (list) verpackt sein. Bei der Abfrage kann man relativ genau spezifiezieren, was man haben will.
Benachrichtigung geht ueber die gleichen Kanaele wie oben, die rueckgelieferten Daten sind hier in HTTP und TCP aber unterschiedlich, und "plain" d.h. nicht als XML/json verpackt.
Befehle ausfuehren kann man auch ueber alle Kanaele, und auch wiederum nur "plain", d.h. nicht verpackt.
Es gab mal ein Studentenprojekt mit dem Namen "The Open Transporter" (Java-Bibliothek?), ich sehe hier aber so gut wie keine Supportanfragen dazu.
Hi,
xmllist funktioniert eigentlich ganz gut, wenn man den Bereich zwischen dem ersten Tag <FHZINFO> und dem Tag <Global_LIST> wegfiltert. Da steht nämlich gerne mal Bogus, der verhindert, dass sich die XMLDatei parsen lässt.
Ansonsten gibt es das Problem (auch bei JSONList), dass das Herunterladen der Daten (manchmal >1MB) recht lange dauern kann und währenddessen der gesamte FHEM Server hängt.
Hier hilft, die Daten drastisch auf das notwendige zu Filtern.
für FHEMobile bin ich dabei ein eigenes Modul zu schreiben, dass exakt die Daten wiedergibt, die ich brauche.
Ciao, Arno
Danke, xmllist + filtern für die entsprechenden devices hört sich für mich zur zeit am besten an.