Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

Etechniker
Beiträge: 45
Registriert: 23.12.2015, 21:04
Hat sich bedankt: 3 Mal

Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Etechniker » 25.10.2019, 14:36

Hallo,

ich möchte folgende Funktionalität realisieren:
Ein Raspberry Pi liest kontinuierlich Daten (Systemvariablen, Datenpunkte) von der HM-Zentrale (Raspberrymatic) aus und lädt sie zur Visualisierung auf einen Webserver hoch.

Hierbei möchte ich gezielt einen eigenständigen Pi zum Upload einsetzen und nicht zusätzliche Funktionen auf die Zentrale bringen (diese soll nur für die Hausautomation zuständig sein).

Richtig klar ist mir allerdings noch nicht, wie ich so etwas sinnvoll realisieren könnte:
- ein Python Script, das die Daten über XML-RPC ausliest und per FTP auf den Webserver hochläd (Zugriff auf Systemvariablen möglich??)
- openHAB/iobroker mit den entsprechenden HM und FTP Bindings/Adaptern

Habt ihr eine Empfehlung für eine schlanke Realisierung?

Danke und Grüße,
Bastian

Fonzo
Beiträge: 6722
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 479 Mal

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Fonzo » 25.10.2019, 15:15

Etechniker hat geschrieben:
25.10.2019, 14:36
Habt ihr eine Empfehlung für eine schlanke Realisierung?
Ich nutze für so was IP-Symcon das verwaltet die Werte von Homematic und ist gleichzeitig PHP Server mit PHP 7.3 und stellt Dir die Daten dann eben lokal oder auch als Webserver ins Internet zur Verfügung.

Etechniker
Beiträge: 45
Registriert: 23.12.2015, 21:04
Hat sich bedankt: 3 Mal

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Etechniker » 25.10.2019, 15:31

Fonzo hat geschrieben:
25.10.2019, 15:15
Etechniker hat geschrieben:
25.10.2019, 14:36
Habt ihr eine Empfehlung für eine schlanke Realisierung?
Ich nutze für so was IP-Symcon
Danke für deine Antwort. Sieht grundsätzlich interessant aus, K.O.-Kriterium sind leider die 99€/Jahr. Ich suche eher etwas im open source Bereich.

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Black » 25.10.2019, 15:36

@ETechniker
der von dir genannte IObroker kann deine Anforderung abbilden (ist wie du weisst auch kostenfrei)

Vorgehensweise:

an die CCU Daten kommst du mit den passenden Adaptern

unter Javascript musst du dir dann den Zugriff und die Datenübertragung auf die externe Seite proggen (HTTP Get und Post beherrscht aber javascript)
als trigger kannst du die Werteänderung aus den Homematik Adaptern nehmen. Sollte sich mit einer überschaubaren zeilenanzahl Code abbilden lassen (ohne jährliches Gebührenzahlen)

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Fonzo
Beiträge: 6722
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 479 Mal

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Fonzo » 25.10.2019, 15:48

Etechniker hat geschrieben:
25.10.2019, 15:31
Sieht grundsätzlich interessant aus, K.O.-Kriterium sind leider die 99€/Jahr. Ich suche eher etwas im open source Bereich.
Sind in dem Fall 99 Euro einmalig oder mehr abhängig von der Lizenz, laufende Kosten hast Du keine für den Webserver. Geht sicher aber auch mit OpenSource, was PHP als Grundlage mit integrierten PHP Server anbelangt kenne ich zumindest keine OpenSource Lösung, die nutzen meist andere gängige Sprachen.

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von alchy » 25.10.2019, 22:45

Fonzo hat geschrieben:
25.10.2019, 15:48
was PHP als Grundlage mit integrierten PHP Server anbelangt kenne ich zumindest keine OpenSource Lösung, die nutzen meist andere gängige Sprachen.
PHP hat ja der TE auch nicht gefordert. :roll:

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Fonzo
Beiträge: 6722
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 479 Mal

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Fonzo » 25.10.2019, 22:58

alchy hat geschrieben:
25.10.2019, 22:45
PHP hat ja der TE auch nicht gefordert. :roll:
Ist nun aber nun mal mit fast 80% die am meisten verbreitete Sprache für Website Server.

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Black » 27.10.2019, 08:18

Ich möchte einen Salat machen. Hier haste ein Rezept für ein Steak.

Kennen wir alle hier zu genüge.

Um den TO nicht in die Irre leiten zu lassen. Selbst wenn ein Webserver unter php läuft, ist es selbstverständlich möglich mit allen Sprachen darauf zuzugreifen, nur das Protokoll und die Authentifizierung müssen stimmen
Muss es aber unter php auch

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Fonzo
Beiträge: 6722
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 479 Mal

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Fonzo » 27.10.2019, 09:04

Black hat geschrieben:
27.10.2019, 08:18
Selbst wenn ein Webserver unter php läuft, ist es selbstverständlich möglich mit allen Sprachen darauf zuzugreifen, nur das Protokoll und die Authentifizierung müssen stimmen
Muss es aber unter php auch
Selbstverständlich kannst Du auf jede erdenkliche Weise und mit jeder erdenklichen Sprache Daten auf einen Server hochladen. So lange der TO aber keine Informationen liefert wie der Aufbau im Detail aussehen soll, ist alles weitere Spekulation. Wenn Du die eigene Domain auf den bereits vorhandenen Webserver umleitest, musst Du logischerweise auch nichts hochladen, dann kannst Du Dir diesen Schritt sparen, da die Daten ja bereits auf dem Webserver liegen, daher die Antwort auf eine schlanke Realisierung. Und wenn Du die Daten wegen Sicherheit auf einen anderern Hoster, der PHP nutzten sollte, hoch lädst, hast Du zumindest den Vorteil, dass die Daten so im einem Webserver 1:1 gesetzt und angezeigt werden können und dann einfach per sftp auf den externen Webserver hochgeladen werden. Ist für die Sicherheit besser als den Web Hoster so zu konfigurieren, dass er auf die Daten von Außen zugreifen kann.

Etechniker
Beiträge: 45
Registriert: 23.12.2015, 21:04
Hat sich bedankt: 3 Mal

Re: Daten aus HM-Zentrale auslesen und auf Webseite übertragen

Beitrag von Etechniker » 27.10.2019, 10:41

Danke für eure zahlreichen Antworten!
Die Anzeige der Daten auf dem Webserver bekomme ich hin. Die Frage war eher in die Richtung, wie bekomme ich die Daten auf den Server?

Und ja, ich möchte einen externen Hoster benutzen, der von meinem lokalen Rechner mit Daten gefüllt wird.
Ich möchte nicht, dass "die Welt" auf meinen lokalen Rechner zugreift.

Den iobroker habe ich jetzt testweise installiert. Allerdings bin ich weder fit in Javascript, noch habe ich eine einfache Lösung zum Dateiupload gefunden. Vielleicht ist diese Variante doch etwas überdimensioniert.

Was haltet ihr von dieser Lösung: ein Python Script greift über das XML-API-Addon auf die entsprechenden Daten zu, verpackt sie in eine entsprechende Datei und lädt sie zyklisch per FTP auf den Hoster hoch.

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“