Meine Kenntnisse reichen dafür leider nicht, aber unter dieser Adresse ist das ganze mit Java realisiert für OpenHAB. Vielleicht kann man das einfach anpassen für PicoC?
Modbus TCP mit Waterkotte
Einklappen
X
-
Ja, beim Aufruf des Login wird ein Cookie mit dem Namen "IDALToken" und der SessionID als Inhalt erstellt. Anhand dessen erkennt er dann beim Abruf der Werte, dass der Zugriff berechtigt ist.
Meine Kenntnisse reichen dafür leider nicht, aber unter dieser Adresse ist das ganze mit Java realisiert für OpenHAB. Vielleicht kann man das einfach anpassen für PicoC?
-
Genau! Du kannst mit dem normalen Webinterface alles lesen und auch schreiben, halt nur nicht direkt über Modbus.
PHP wäre natürlich auch super! Oder wir nehmen Openhab und tauschen die Werte mit Loxone aus, da gibt es auch einen Ansatz im Forum. Wie auch immer bin ich gerne beim Testen dabei!
Hier siehst Du die Werte, die man auf jeden Fall auslesen und teils auch schreiben kann:
Kommentar
-
Also das Auslesen der Werte mit PHP klappt schon mal. Man kann auch mehrere Register auf einmal auslesen. Die Frage ist nun wie die Werte zu Loxone kommen. Virtuelle Eingänge an die die Werte gesendet werden oder per Virtuellem HTTP Befehl der die Sachen vom PHP Script abruft?Kommentar
-
Ich würde es auch über einen virtuellen Eingang einbinden. Hier bietet sich zur Vereinfachung ein Template an. Ich habe so z.B. Wunderground-Wetterdaten eingebunden. Der Link führt zu einer ausführlichen Anleitung.
Sag bitte Bescheid wenn ich mal testen oder beim Template mithelfen soll. Zumindest bei PHP habe ich ein paar Grundkenntnisse.
Kommentar
-
Klingt gut. Mit den Templates für Loxone kenne ich mich gar nicht aus. Habe jetzt erstmal die Eingänge per Hand angelegt und mit ein paar Messwerten angefangen.
Hier der Link zum PHP Code: http://bit.ly/2v2Z6LG
Bitte beachten, dass die I** Werte nicht getestet sind sowie das Schreiben noch nicht funktioniert. Die config.php ist anzupassen und dann einfach die index.php aufrufen. Die möglichen Werte stehen in der EcoTouchTags.class.php und sind identisch mit denen von openhab. Die index.php rufe ich aktuell ein mal pro Minute per cron auf.
Kommentar
-
Wow, das ging ja fix und sieht schon super aus, ich werde mich am Wochenende mal ans Testen machen.
Allerdings wäre es denke ich wesentlich resourcenschonender und einfacher anstatt auf normale "Virtuelle Eingänge" auf "Virtuelle HTTP Eingänge" umzustellen.
Normale virtuelle Eingänge muss man in der Tat alle per Hand anlegen, es kann kein Template verwendet werden. Außerdem hat die HTTP-Variante den Vorteil, dass man das Skript nicht aufrufen muss per Job oder wie auch immer, sondern dass Loxone das erledigt. Hier kann man sogar den Abfragezyklus einstellen. Ich denke die Auslastung des Miniservers ist damit auch geringer.
Der Aufruf des Skripts sollte dann einfach eine Text, XML oder JSON Datei in der die Werte aufgelistet sind liefern (z.B. Außentemperatur = 24,0 etc.). Hier bin ich mir nicht ganz sicher, welches Format sich am besten auswerten lässt, es sollte aber eigentlich keine Rolle spielen. Loxone hat dann eine Befehlserkennung und sucht einfach den zum angegebenen Stichwort gehörigen Wert.
Hier kommen die Templates ins Spiel, welche dann beim Import die Befehle und Bezeichnungen enthalten. Hier kann ich gerne helfen, das ist ja im Prinzip nur etwas Fleissarbeit.
Außerdem muss man mit der Textdatei keine Eingänge in der Config angeben sondern kann sich in Loxone alles auswählen, wie man es braucht.
Was meinst Du?
Zuletzt geändert von uli; 22.08.2017, 19:53.Kommentar
-
Das hatte ich anfangs überlegt. Ist das wirklich resourcenschonender wenn der MS alle 60s ca. 30-50 HTTP Aufrufe machen muss? Aber ich gebe dir Recht. Für die Konfiguration wäre es wesentlich einfacher weil man dann alles in Loxone definieren kann.
Ich baue das Script die Tage entsprechend um. Ich denke die Messwerte können durch das Script erst mal gesammelt ausgelesen werden. Dann werden die darauf folgenden Aufrufe vom Miniserver direkt beantwortet ohne erneut die Wärmepumpe für jeden einzelnen Messwert zu befragen. Dann gibts auch keine Probleme mit TOO_MANY_USER Fehlermeldungen etc.. :-) Wenn die Werte max. 30s gecached werden sollte das ja ausreichen. Dann ist sichergestellt, dass der Abruf bei der Wärmepumpe nur aller 30s gemacht wird.
Wenn jemand von euch die Templates für Loxone machen könnte wäre das hilfreich. Ich muss es bei mir dann auch nochmal umbauen.Kommentar
-
Macht der Miniserver dann wirklich für jeden Wert einen einzelnen Aufruf? Ich dachte er liest die Datei einmal im angegebenen Abfragezyklus und extrahiert dann die Werte zusammen, aber genau weiß ich es nicht.
Um das Template kümmere ich mich gerne. Kannst Du mir eventuell mal eine Demodatei per PN schicken, wie die Ausgabe dann aussieht? Da reicht es ja, wenn mal zwei Werte angegeben sind damit ich damit testen kann.Kommentar
-
Hallo Zusammen,
habt ihr jetzt schon eine einigermaßen laufende Variante gefunden?
Würde mich nämlich auch gern nächste Woche an das Thema machen.
Vielen Dank im Voraus!
Viele Grüße
SteffenKommentar
Kommentar