Antwort
Okt 12, 2020 - 12:25
Wenn Du mit dem Wert arbeiten willst in NEO Automation Manager musst Du Dir ein Skript schreiben und auf das JSON mit JSON.parse() zugreifen.
Hallo,
ich habe aufgrund einer neu installierten Solaranlage von der Firma Weidmann einen auswertbaren Stromzähler eingebaut. Dieser ermöglicht es, die aktuellen Daten sichtbar zu machen.
"Emlog bietet Ihnen über das Webinterface die Möglichkeit, Ihre Zählerdaten in externe Anwendungen zu importieren. Per http Request können Sie somit alle Daten des Webinterfaces in Echtzeit abfragen und weiterverarbeiten. Die Daten werden im JSON Format zur Verfügung gestellt."
-> https://shop.weidmann-elektronik.de/m...
Kann mir vielleicht jemand helfen, wie ich diese Daten in den NEO Automation-Manager bekomme? Wenn ich eine bestimmt Abfrage versende, bekomme ich diese Daten zurück:{"Stand180":0,"Stand181":0,"Stand182":0,"Stand280":0,"Stand281":0,"Stand282":0,
"Kwh180":0,"Kwh181":0,"Kwh182":0,"Kwh280":0,"Kwh281":0,"Kwh282":0,"Betrag180":0
,"Betrag181":0,"Betrag182":0,"Betrag280":0,"Betrag281":0,"Betrag282":0,"Waehrun
g":"EUR","Leistung170":936,"Leistung171":115,"Leistung172":263,"Leistung173":55
8,"Leistung270":0,"Leistung271":0,"Leistung272":0,"Leistung273":0}
Für mich relevant ist "Leistung170":936," mit dem Ziel, im Automation-Manager einrichten zu können, ob die Strom-Überschuss habe, oder ob ich aktuelle beziehe.
Ist das möglich?
Viele Grüße
Tobias
Haben Sie die gleiche Frage? Dieser Frage folgen
Okt 12, 2020 - 12:25
Von
Hallo Fonzo, könntest Du mal schreiben, wie
a) die "Kopfzeilen" und
b) die "Verarbeitung" des Formulars auszufüllen sind.
Ich komme bei Shelly-Request auch nicht weiter.
Vielen Dank im Voraus, Gerd
Von
a) Content-Type application/json
b) Pfad Leistung170
Von
Ich benutze ein Shelly2.5-Relais und versuche den Zustand abzufragen.
Der Request lautet:
http://192.168.123.180/relay/0
Die http-Antwort lautet:
{"ison":true,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"overtemperature":false,"is_valid":true,"source":"http"}
In meinem Fall interessiert der Wert “ison“.
Meine Statusabfrage:
https://www.dropbox.com/s/re1pgro5lsr7ns0/Mediola%20AM%20Statusabfrage%20Shelly2.5.jpg?dl=0
Im Format „Text“ wird die http-Antwort in einem Textfeld korrekt angezeigt.
Wähle ich das Format „JSON“ bleibt der Status eines Schalters auf „undefiniert“.
Was mache ich falsch?
Viele Grüße, Gerd
PS: Kann ich bei Kommentaren kein Bilder und Links einfügen?
Von
In Kommentaren kann man nichts einfügen wenn müsstest Du eine Antwort schreiben oder wenn es ein eigenes Thema ist einfach eine neue Frage eröffnen.
Ehrlich gesgat habe ich keine Ahnung was Du da vielleicht falsch machst. Das Feature ist für mich selber nicht brauchbar und ich nutzte es deshalb auch nicht, weil ein richtiges Debugging bei komplexen JSON Strukturen auch nicht möglich ist.
Wenn ich selber JSON auswerten will nutzte ich für so was IP-Symcon, und das gibt mir die Werte dann auch als fertiges Gerät an NEO und man kann das als Gerät im NEO Gerätemanager importieren, geht wesentlich einfacher als da anzufangen in NEO rum zu basteln.
Was Shelly angelangt würde ich da wenn es mehrere geräte sinbd auch eher das basteln über diese Ansatz sein lassen.
Wenn Du Shelly voll steuern willst und sofort eine Rückmeldung bekommen willst solltest Du ein System nutzten das auch MQTT unterstützt. Das geht z.B. über Anbindung von IP-Symcon an NEO über das NEO Plugin IP-Symcon und Shelly Modul
https://www.symcon.de/forum/threads/40057-Modul-5-1-Shelly-MQTT-Server-MQTT-Client
Über das gleiche NEO Plugin kannst Du dann auch ohne weiteres alle Werte von Weidmann als Gerät in NEO importieren.
Anonsten bietet Mediola selber eine einfache EInbindung von Shelly mit einem NEO Plugin an, das nutzt zwar kein MQTT aber zumindest geht damit auch die Ansteuerung ohne basteln.
Wenn Du so oder so die Solaranlage auswerten willst würde ich Dir die Erweiterung von NEO mit IP-Symcon empfehlen. Dann kannst Du erstens die Daten der Solaranlage auch aufzeichnen und Diagramme erstellen, die Du dann in NEO auch anzeigen kannst.
https://www.symcon.de/produkt/monitoring/
Du kannst auch Shelly dann gleich richtig steuern ohne basteln in NEO. Falls Dir noch weitere Dinge einfallen, geht das dann alles über das ein und das selbe NEO Plugin.
Den NEO Automation Manager kannst Du aus IP-Symcon über Mediola Gateway Services ansteuern.
Von
Guten Morgen,
@Fonzo - vielen Dank für den Tipp mit IP-Symcon. Ich hänge allerdings an WebFront-ID. Sollte dies automatisch ausgelesen werden, wenn die IP korrekt ist? Ich konnte hierzu nirgends was finden.
Viele Grüße
Von
Wenn Du das ausprobieren willst, ist wichtig, dass unter Sicherheit alle Einstellungen vorgenommen wurden
https://www.symcon.de/service/dokumentation/sicherheit/
Es muss also sowohl ein Passwort für den Fernzugriff gesetzt worden sein und für den Webfront sollte auch ein Passwort gesetzt worden sein. Wenn Du dann die passenden Daten im Gerätemanager im NEO Creator eingibst und auch einen Haken bei IP-Symcon 5 setzt, sollte der NEO Creator die verfügbaren Webfrtont-IDs beim Klick auf die Lupe automatisch auslesen.
Ansonsten kann man bestimmt auch die Webfront-ID per Hand eintragen, aber davor sollte man prüfen ob eben die Passwörter richtig gesetzt wurden und so auch im NEO Creator eingetragen.
Die Daten von Emlog lassen sich in PHP in IP-Symcon so abfragen
<?php
$url = ''; // URL zum Abrufen der Daten ergänzen
$payload = file_get_contents($url);
$data = json_decode($payload);
$power = $data->Leistung170;
SetValue(12345, $power); // 12345 Objekt ID Variable
So kann man dann alle Daten, die über HTTP ausgelesen werden, in jeweils eine eigene Variable schreiben. Das Skript kann man dann zyklisch ausführen lassen, in einem Zeitraum der Wahl.
Damit selbst erstellte Geräte im NEO Creator dann auch als ein Gerät angezeigt werden, müssen selbst angelegte Variablen unterhalb einer Dummy Modul Instanz gruppiert werden.
https://www.symcon.de/service/dokumentation/modulreferenz/dummy-modul/
Dann werden alle Variablen des Geräts auch in NEO nach dem Import als ein Gerät angezeigt und müssen dann in NEO nur noch einem Slider, Analogmeter oder Textfeld, bzw. Grafik zugewiesen werden. Wenn IP-Symcon genutzt wird, sollte dann der Variable auch gleich ein
passendes Variablenprofil zugewiesen werden.
https://www.symcon.de/service/dokumentation/konzepte/variablen/variablenprofile/
Das stellt sicher, dass der Wert dann auch gleich in NEO bei Bedarf mit der passenden Einheit angezeigt wird. (Auswahl formatted status).
Formatted status weist man einem Textfeld zu, Analogmeter, Slider oder Grafiken nimmt man den Rohwert, also ohne die Einheit.
Graphen aus IP-Symcon kannst Du in einem Webseitenelement in NEO darstellen über
https://github.com/symcon/SymconGraph/tree/master/WebGraph
Neuen Kommentar hinzufügen