Antworten
Jan 02, 2022 - 23:22
Ich speichere Daten bei mir grundsätzlich in IP-Symcon ab, weil das am einfachsten ist ohne extra Datenbank Abfragen machen zu müssen und es werden automatisch Graphen erzeugt, die ich dann wieder in NEO als Webseitenelement anzeigen lassen kann. Man kann aber wenn man will, auch zusätzlich noch eine MySQL Datenbank anbinden über MySQL Archiv.
Das schreiben der Daten erfolgt in meinem Fall über das NEO Plugin IP-Symcon und ein Skript im Automation Manager das zyklisch ausgeführt wird.
In dem Skript wird einfach der gewünschte Datenpunkt vom V5+ mit getDeviceStatus ausgelesen und dann mit executeDeviceCommand über das NEO Plugin IP-Symcon in eine Variable von IP-Symcon geschrieben und dort in das Archiv übernommen.
Die Datenerfassung erfolgt dann automatisch in IP-Symcon.
Der umgekehrte Weg auf dem NEO Server des V5+ etwas auszulösen gehe ich über Mediola Gateway Services.
Das Anzeigen der archivierten Daten erfolgt in NEO über ein Webseitenelement und einen Webhook zu IP-Symcon über Webgraph oder Alternativ als JSLive Graph in einem Webseitenelement in NEO.
Jan 03, 2022 - 11:34
getDeviceStatus(
"Wetter",
"Wetterstation",
{"value":"temperature","extMeta":"-40-85"},
function(err, status) {
err && console.error(err.message);
console.log(status);
executeDeviceCommand(
"IP-Symcon 6",
"Wetterstation AIO Gateway",
{"value":"31043#setValue","ext":status},
function(err) {
err && console.error(err.message);
}
);
}
);
So sieht als Beispiel der Code von einem Skript im NEO Server aus, dass über ein NEO Plugin Daten an ein externes System in ein Archiv wegspeichert. Die Daten können dann aus dem Archiv zusätzlich bei Bedarf in eine MySQL Datenbank vom externen System automatisch übergeben werden.
In einem einzigen Skript des NEO Servers kann man dann auch alle Datenpunkte der Wetterstation archivieren, es werden dann einfach pro Datenpunkt ein getDeviceStatus gesetzt und in den passenden Archiv Datenpunkt des externen Systems geschrieben.
Das Skript wird dann einfach in dem Intervall ausgeführt, wie man die Datenpunkte der Wetterstation archivieren will.
Von
Vielen Dank für den Tipp, über IP-Symcon bin ich auch schon gestolpert, aber das würde zunächst erst einmal wieder ein Minimalinvest von ca. 250€ bedeuten (150€ für die IP-Syncon Software und 100€ für das Mediola Plugin.
Ich würde (sofern möglich) auch eine API Schnittstelle nutzen, wenn das AIO Gateway bzw. die Homematic Integration sowas bereitstellen würde, aber auch hier habe ich bisher noch nichts gefunden, worauf man aufsetzen könnte.
Von
Die Dokumentation für aktuelle AIO Gateways bzw. auch ein V5+ ist nicht öffentlich, es gibt aber ein altes Dokument von Mediola in dem das beschrieben ist:
https://www.mediola.com/support-docs/API_AIO_GATEWAYS-All.pdf
Ich selber habe mir das mal näher angeschaut aber von Dingen wie Homematic / Homematic IP in Kombination mit einem AIO Gateway die Finger gelassen.
https://github.com/Wolbolar/IPSymconAIOGateway
Funktioniert für andere Funksysteme die ein AIO Gateway unterstützt. Für Homematic IP nutzte ich lieber eine CCU3, da ich dort auch alle Datenpunkte von eQ3 komplett nutzten kann..
Möglich ist es den Status über eine UDP Socket auszuwerten. Das ganze aber für jeden einzelnen Gerätetyp einzurichten bist Du ewig beschäftigt, da ist es deutlich einfacher für Homematic IP einfach eine CCU3 zu nutzten. So mache ich das zumindest persönlich.
Ob Du letztlich nochmals Geld ausgeben willst oder nicht musst Du natürlich für Dich selber beurteilen.
Ich persönlich kann nur sagen für mich hat sich die einmalige Anschaffung gelohnt, weil es aus meiner persönlichen Sicht einfacher ist Daten in IP-Symcon zu archivieren als dafür extra ein SQL Datenbank zu bemühen. IP-Symcon hatte in den frühen Anfangszeiten selber eine SQL Datenbank genutzt, dies aber einfach aus Benutzerfreundlichkeit irgendwann abgeschafft. Wer das will kann ja immer noch zusätzlich eine SQL Datenbank nutzten, in der Regel braucht es das aber nicht. Und wenn man nicht gerade mit SQL bewandert ist spart man sich auch Lernen der SQL Abfragen um die Daten dann genauer analysieren zu können.
Neuen Kommentar hinzufügen