Sorry, vergessen zu erwähnen. Ja genau, iobroker. Damit klappt es einigermaßen gut und den werde ich auf jeden Fall beibehalten.
Smart-Home Fragen - Hat jemand Grundkenntnisse in HTML / REST API ?
-
-
Wenn du einen Kommandozeilenbefehl hast, der das richtige Ergebnis liefert, kannst du mit dieser Anleitung ein blockly-Script zusammenstellen, dass dir einen Datenpunkt mit dem Ergebnis des Befehls füllt.
ioBroker Blockly exec Funktion nutzen - JB-SmartHomeMit der ioBroker Blockly exec Funktion können Terminalbefehle auf dem eigenen oder einem entfernten System ausgeführt werden.jb-smarthome.deWenn du für diesen Datenpunkt dann noch die History aktivierst, hast du die Verlaufsdaten.
-
Vielen Dank, das führt mich schonmal einen wesentlichen Schritt weiter. Das Ergebnis des Kommandozeilenbefehls ist allerdings nicht ein einzelner Wert, sondern besteht aus mehreren Zeilen. Davon brauche ich natürlich nur eine Zeile. Wie sage ich dem Skript, dass ich nur den Eintrag in einer bestimmten Zeile als Zahl benötige?
Aus dieser Antwort benötige ich z.B. einmal die "206" und einmal die "157.4".
-
-
Hi,
oder schau mal hier:
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Vielleicht kann mir auch einer weiterhelfen. Habe auch den ioBroker auf einem Raspberry laufen. Möchte jetzt gerne den Adapter "Home-Assistent" ausprobieren.
Leider bekomme ich die Instanz nicht ans laufen. "Verbunden mit Host" und "Lebenszeichen" sind verbunden. "Verbunden mit Gerät oder Dienst" nicht.
In der App "Home-Assistant" bekomme ich ebenfalls keine Verbindung.
Gibt es dafür eine Anleitung?
Dirk
-
Vielleicht kann mir auch einer weiterhelfen. Habe auch den ioBroker auf einem Raspberry laufen. Möchte jetzt gerne den Adapter "Home-Assistent" ausprobieren.
Leider bekomme ich die Instanz nicht ans laufen. "Verbunden mit Host" und "Lebenszeichen" sind verbunden. "Verbunden mit Gerät oder Dienst" nicht.
In der App "Home-Assistant" bekomme ich ebenfalls keine Verbindung.
"Home Assistant" (HASS) ist eine ganz eigene Smart-Home -Lösung, diese muss so wie IOBroker als eigenständige Instanz irgendwo laufen.
Der "Home-Assistant-Adapter" dient nur zur Verbindung von IOBroker zu HASS, um Geräte aus HASS in IOBroker zu benutzen, ebenso braucht die App einen laufenden HASS-Server
-
beanti
Hat den Titel des Themas von „Hat jemand Grundkenntnisse in HTML / REST API ?“ zu „Smart-Home Fragen - Hat jemand Grundkenntnisse in HTML / REST API ?“ geändert. -
"Home Assistant" (HASS) ist eine ganz eigene Smart-Home -Lösung, diese muss so wie IOBroker als eigenständige Instanz irgendwo laufen.
Wie schon geschrieben bekomme ich leider die Instanz, innerhalb des IOBroker, nicht ans laufen. "Verbunden mit Host" und "Lebenszeichen" sind verbunden. "Verbunden mit Gerät oder Dienst" nicht.
Der "Home-Assistant-Adapter" dient nur zur Verbindung von IOBroker zu HASS, um Geräte aus HASS in IOBroker zu benutzen, ebenso braucht die App einen laufenden HASS-Server
Ich gehe davon aus, dass die Instanz im IOBroker, wenn Sie sich denn mal verbinden würde, der HASS-Server ist.
Dirk
-
Ich gehe davon aus, dass die Instanz im IOBroker, wenn Sie sich denn mal verbinden würde, der HASS-Server ist.
Da täuscht du dich - in der Konfiguration des Adapters muss die IP-Adresse von Home-Assistant eingegeben werden.
Ich habe das System in Betrieb und weiss annähernd wovon ich spreche, hier mein aktiver Adapter:
-
Hi,
ok, dann habe ich da was fehlinterpretiert
-
Meine Steuerung nimmt gewünschte Formen an...
Nächstes Problem, bei dem ich nicht weiterkomme (IOBroker) :
Ich möchte einen Tagesverbrauchswert anzeigen. Mein Stromzähler liefert diesen Wert allerdings nicht. Nun bräuchte ich eine Funktion, die mir praktisch folgendes anzeigt:
[Aktueller Gesamtverbrauch] - [Gesamtverbrauch am aktuellen Tag um 0:00 Uhr] = [Tagesverbrauch].
Habe schon versucht, ein entsprechendes Skript mit einem neuen Datenpunkt zu basteln, aber das scheitert leider kläglich. Vermutlich ist das der einfachste Weg, aber mit den ganzen Bausteinen bin ich noch nicht warm geworden. Im Widget selbst werde ich solche Berechnung wahrscheinlich nicht anstellen können, oder?
-
Ich hab das für Stunden-, Tages- und Monatswerte selbst gebastelt, es gibt aber auch fertige Adapter (Statistik?):
im Grunde braucht es einen Trigger (Bei mir jede Stunde, jeden Tag um 0:01 Uhr und jeden Monat am Ersten um 0:03, und einen Zusatzdatenpunkt in dem der letzte Zählerwert (Stunde/Tag/Monat/ drinsteht.
Zu den Zeitpunkten wird vom aktuelle Summenwert des Zählers der letzte Wert subtrahiert und in den gewünschten Punkt geschrieben.
Sieht bei mir zB so aus (war aber sehr inkonsequent beim benennnen der Variablen und Datenpunkte), dieser Teil läuft jede Stunde (um xx:01 Uhr) und schreibt 5 Werte in Datenpunkte:
-
Die meiste Zeit funktioniert das Auslesen des Wechselrichters und das Aktualisieren des Datenpunktes. Manchmal steht aber auch der Fehler NaN (not a number) im Ausgabefeld. Augenscheinlich wird mein Ergebnis als String erfasst, obwohl ich eine Zahl benötige. Das wird im iobroker Protokoll auch als Warnung - mit dem Hinweis, dass es in zukünftigen Versionen zu Problemen führen könnte- angezeigt, funktionieren tut es aber trotzdem. Wie wandle ich den ausgelesenen Wert im Script als Zahl um?
Ob ich den Block "nach Zahl" einfüge oder weglasse, ändert überhaupt nichts. Meinem Verständnis nach müsste er auch eher hinter "result" stehen, aber da kann ich den Block nicht andocken.
-
Das liegt vermutlich daran, dass deine Befehlszeile manchmal seinen Wert ausgibt, der nicht in eine Zahl umgewandelt werden kann (zB eine Buchstaben Folge, oder ein falsches Dezimaltrennzeichen)
Zum eingrenzen am besten bei "Debug Output" das "nach Zahl" weglassen, und dann bei Auftreten des Fehlers in den Logs nachsehen, welcher Wert denn umgewandelt werden hätte sollen.