HTTP Plugin für Sensor
-
-
Das einfachste (um die Werte wirklich nur anzeigen zu lassen) wäre vermutlich das folgende Plugin:
GitHub - werthdavid/homebridge-website-to-camera: Homebridge plugin that displays a Website as virtual camera (intended for Google Maps Traffic)Homebridge plugin that displays a Website as virtual camera (intended for Google Maps Traffic) - GitHub - werthdavid/homebridge-website-to-camera: Homebridge…github.comEventuell könnte man die Werte auf der Homepage etwas schöner darstellen, allerdings könntest du hier nicht auf die Werte "reagieren" mit Automationen zum Beispiel.
Das Problem mit den Werten ist halt, dass HomeKit sehr begrenzt in der Darstellung von Werten ist.
Es gibt keinen (mir bekannten) Sensor, der zum Beispiel "ActivePower" so darstellen könnte.
Man müsste die Werte halt umrechnen zu einem Wert der unterstützt wird (zum Beispiel Temperatur oder Luftfeuchtigkeit).
Characteristic types | Apple Developer DocumentationThe characteristic types supported by HomeKit-based accessories.developer.apple.comIch möchte meine PV demnächst auch noch in Homekit integrieren und überlege aktuell auch, wie ich das am besten machen will
Vielleicht hat jemand eine Idee und kann mir helfen.
Kann ich nicht, aber dein Screenshot zeigt, dass die Daten im JSON-Format vorliegen. Deine Suche ist also nach etwas wie JSON -> Homebridge. Ich kenne so ein Plugin nicht, was beim besten Willen nicht heißt, dass es kein solches Plugin geben könnte. Ich selber verarbeite solche Daten mit Node Red und sende sie von dort nach HomeKit.
Hier im Forum gibt es keinen Support für Node Red, aber YouTube hilft weiter (Suche: "JSON Node Red") oder aber die Node Red-Foren. Ist erstmal aufwändig, aber vielleicht findest du ja auch was für Homebridge.
Hast du zufällig eine "schöne" Möglichkeit, solche Werte wie oben sinnvoll in HomeKit darzustellen?
Ich würde nur die Werte nach HomeKit übertragen, die dort Automationen triggern sollen. Das ist für mich sowohl "schön" als auch "sinnvoll". Was verstehst du unter "schön"?
TotalYield hat einen Wert von 991.1,
benötige ich nicht einen Sensor, der dann diesen Wert darstellen kann?
Oder können Sensoren auch Werte beinhalten, die nicht dargestellt werden?
Angenommen ich möchte eine Automation, wenn TotalYield > 1000 ist, wie würdest du damit umgehen?
Das ist ein Huawei Sun2000.
Die Daten werden da über Modbus ausgelesen.
Das ist ein Huawei Sun2000.
Die Daten werden da über Modbus ausgelesen.
Na das ist ja interessant. Den gleichen habe ich auch...
Muss mal schauen, wie ich das bei mir aktiviere.
Wäre also auch für mich selbst interessant

Edit2:
So, hab es gerade auch mal beantragt.
Modbus Plugin ist doch nicht richtige.
Aber gute Nachrichten: Ich habe mir gerade mal die Entwicklung von Homebridge-Plugins angeschaut und das scheint alles halb so wild zu sein.
Daher die Frage:
Welche Werte sind wirklich wichtig?
Für mich sind eigentlich nur 4 Aktuelle Informationen wichtig:
Produzierende kw (Licht-Sensor)
Batteriestand (Luftfeuchtigkeit?)
Netzeinspeisung (Licht-Sensor)
Verbrauch (Licht-Sensor)
Fehlt da noch etwas?
Werden diese Werte überhaupt geliefert?
Diese Werte werden alle geliefert. Ich benutze allerdings den BOPV.mini dazu, der diese Daten wie oben im Screenshot bereitstellt. Du kannst den Wechselrichter aber auch über Modbus auslesen. Ich denke aber, dass das mit der Homebridge etwas schwieriger wird.
Vielleicht kann man das Plugin HTTP Advanced Accessory so konfigurieren, dass man sich die Werte über einen Lichtsensor im Homekit anzeigen lassen kann. Leider reichen da meine Kenntnisse nicht aus um das selber zu bewältigen.
Die Frage wäre ja eher, welche Werte man tatsächlich benötigt.
Oder möchtest du 14 neue Sensoren haben für den Wechselrichter?
Es existiert auch ein Plugin für Modbus für Homebridge, daher sollte das auch nicht so das Problem sein.
HTTP Advanced Accessory sollte man auch verwenden können.
Das hier wäre dann die Konfiguration:
GitHub - staromeste/homebridge-http-advanced-accessory: Supports all devices on HomeBridge Platform / Bridges devices to httpSupports all devices on HomeBridge Platform / Bridges devices to http - GitHub - staromeste/homebridge-http-advanced-accessory: Supports all devices on…github.comIch muss zugeben, dass ich die SUN2000 ja echt bescheiden finde, was direkte Anbindung angeht.
Habe mich zwar für die API freischalten lassen, aber alle 5 Minuten einen Wert zu bekommen genügt mir einfach nicht.
Vielleicht kann man das Plugin HTTP Advanced Accessory so konfigurieren, dass man sich die Werte über einen Lichtsensor im Homekit anzeigen lassen kann. Leider reichen da meine Kenntnisse nicht aus um das selber zu bewältigen.
Plugin Beschreibung lesen, dann sollte das kein Problem sein. Wo ein Wille ist ...
Kannst ja damit rumprobieren, hier mal die Hauslast. Obs funktioniert musst du schauen, kann ich nicht überprüfen da deine Werte nur lokal verfügbar sind.
Deine Werte:
Code
Alles anzeigen{ "PullCounter": 1, "Inverter_InputPower": 0, "Inverter_ActivePower": 0, "Inverter_YieldToday": 18.77, "Inverter_TotalYield": 991.1, "PowerMeter_ActivePower": -1.039, "Houseload": 1.039, "BatterySOC": 1, "Balcony_InputPower": 1, "Temperature_1": 22.56, "Temperature_2": 22.3, "Temperature_3": 23.4, "Temperature_4": 22.3, "Temperature_5": 23.4 }Hier die Hauslast ("Houseload":
Code
Alles anzeigen{ "accessory": "HttpAdvancedAccessory", "name": "Hauslast", "service": "LightSensor", "forceRefreshDelay": 5, "debug": false, "optionCharacteristic": [], "urls": { "getCurrentAmbientLightLevel": { "url": "https://192.168.0.244/all", "mappers": [ { "type": "jpath", "parameters": { "jpath": "$.Houseload", "index": 0 } } ] } } }Danke. Das teste ich heute gleich noch.
Patrick_ Das funktioniert super ! Ich kann nun meine Daten auslesen und in Homekit verwenden.
in der Home App sieht das folgendermaßen aus:
und in Controller für Homkit
Vielen Dank für die schnelle und unkomplizierte Hilfe Patrick.
Könnte man noch negative Zahlen abbilden, so hätte man auch noch den aktuellen Netzverbrauch.😉
Freut mich, dass das funktioniert und du auch direkt auf deine anderen Werte auch entsprechend anwenden konntest!
Negative Werte werden schwierig, dafür bräuchtest du ein Characteristic welches solche Werte unterstützt. Lux geht nur bis 0.0001 Lux. Es gäbe als einzigen Wert die Temparatur, die geht aber nur max. auf -270°C (siehe Screenshots)
HAP-NodeJS/src/lib/definitions/CharacteristicDefinitions.ts at master · homebridge/HAP-NodeJSNode.js implementation of the HomeKit Accessory Protocol (HAP) - HAP-NodeJS/src/lib/definitions/CharacteristicDefinitions.ts at master · homebridge/HAP-NodeJSgithub.comSehr schön, dass es läuft!
Könntest du mal versuchen anstatt den jpath Mapper den eval Mapper zu verwenden?
Ist zwar etwas abgedreht so, könnte aber theoretisch funktionieren:
Code"mappers": { "type": "eval", "parameters": { "expression": "JSON.parse(value).PowerMeter_ActivePower * -1" } }So sollte PowerMeter_ActivePower ausgelesen werden und der Wert einfach mit -1 multipliziert werden.
Hier müsste man theoretisch jedes Mapping machen können
Ja perfekt. Ich persönlich würde den eval dann auch noch zum Runden nehmen.
Jetzt warte ich nur darauf, dass das bei mir auch mal freigeschaltet wird.
Eine Menge gelernt in diesem Thread
