NEWS
simple-api nur lesender Zugriff als Möglichkeit?
-
@arteck soweit ich verstanden habe, kann man mit dem Adapter zwar Infos auslesen und Wallboxen steuern.
Nicht jedoch die Daten des Netzzählers, oder der PV Produktion übergeben.
Oder hab ich da was falsch verstanden?
Hier geht es um das Thema der Übergabe:
-
@loverz na klar sind die werte da
musst du dir halt die Daten merken und mit rechnen
-
@arteck das sind alles read-only Datenpunkte.
Ich möchte meine Infos von ioBroker an evcc übergeben. -
auslesen kann ich die Werte über den Adapter super:
Übergeben bzw. schreiben nicht, oder ich finde zumindest nichts.
Ist es denn ein Sicherheitsrisiko, wenn man den simple-API Adapter im Heimnetz aktiv hat um Daten nach evcc zu schicken?
-
@loverz nein ist es nicht.. warum sollte es..
aber
was willst du machen.. oder welche DP benötigst du umd was zu machen ??
-
@loverz sagte in simple-api nur lesender Zugriff als Möglichkeit?:
simple-API Adapter ... hat um Daten nach evcc zu schicken?
Du kannst mit dem Adapter nichts aktiv an andere Systeme verschicken. Es können nur andere Systeme etwas Anfragen und mit der HTTP-API arbeiten. Aber
- Gibt es den evcc-Adapter
- Wenn man den nicht nutzen möchte, würde ich das per MQTT integrieren (habe ich auch so gemacht)
- ist simple-api nicht mehr "Stand der Technik" und ich würde den rest-api Adapter bevorzugen
-
@arteck ich brauche die Datenpunkte:
-PV Ertrag
-Hauszählerin evcc, um dort Überschussladen zu realisieren.
Die Daten sind in ioBroker bereits vorhanden, stammen aus KNX, was evcc auch gar nicht ansprechen könnte.
-
- Adapter kann keine Daten für:
-PV Ertrag
-Hauszähler
aus ioBroker beziehen. Das wäre natürlich das beste.
-
MQTT kapiere ich (noch) nicht. Was wäre da der Vorteil?
-
Schaue mir mal Rest-API an
- Adapter kann keine Daten für:
-
@loverz sagte in simple-api nur lesender Zugriff als Möglichkeit?:
- MQTT kapiere ich (noch) nicht. Was wäre da der Vorteil?
Das Konzept von MQTT:
Dreh und Angelpunkt ist der MQTT-Broker. An dem melden sich alle an. Egal ob die Daten senden, empfangen oder beides wollen
Die Daten werden inTopics
gehalten. Die Funktionieren ganz ähnlich wie die Datenpunkte in ioBroker. Zum Beispielstat/Steckdose23/POWER
und dahinter steht dann der Wert
OFF
oderON
. Oder True/False, je nachdem wie es eingerichtet wurde. Da gehen Zahlen, Texte, JSON, Binärdaten.
Du bist also ein Gerät/Teilnehmer und sendest deine Daten einfach an so ein Topic - fertig.Jetzt kommt das aus meiner Sicht geniale: Du kannst nicht nur Daten senden sondern auch abonnieren!
Die Steckdose sendet also in obigen Topic, in meinem Client abonniere ich genau dieses.
Oder einen Teil davon, wenn ichstat/
abonniere erhalte ich alle Meldungen unterhalb davon. Wenn ich das weglassen eben halt alles.
Und noch besser, du wirst aktiv benachrichtigt wenn da was kommt. So Ähnlich wie das mit den Triggern in Blockly/JavaScript in ioBroker. Du kannst also unmittelbar auf die Änderung reagieren.Es gibt nun Geräte da wäre der Topic zum schalten der gleiche wie über den Status - man könnte also an obigen Topic einfach ein
ON
senden wenn dieser aufOFF
steht um es einzuschalten. Dann würde aber das Feedback fehlen ob es wirklich an ist (in ioBroker oft per bestätigt/unbestätigt gelöst). Deshalb nimmt man dann ein anderes Topic, zum Beispielcmnd/Steckdose23/POWER
Da sendest du dein
ON
hin und Millisekunden später springt derstat/...
aufON
wenn das Gerät das übernommen hat.Die beiden Beispiele sind zum Beispiel bei Tasmota so.
Und das funktioniert mit Tausenden von Teilnehmern auf so einem MQTT-Broker.Es kann sogar die Qualität festgelegt werden, so kann es vorkommen das du eine Meldung mehrmals erhältst (Q = 0) oder genau 1 mal (Q = 2) was natürlich mehr Aufwand des Brokers bedeutet. Oder ob der Status auch dann an dich übermittelt werden soll wenn du zum Zeitpunkt des Sendens gerade nicht abonniert hattest (weil du Offline warst)
-
@bananajoe danke für die ausführliche Erklärung!
Wenn ich Daten von ioBroker senden möchte, welcher dann gleichzeitig der Broker/Host/Server sein soll, wie kann ich dann den Topicnamen vergeben? Ist das einfach die ObjektID, wie beim simple-api Adapter?Muss ja wissen, was ich beim Client abonnieren muss.
-
@haus-automatisierung sagte in simple-api nur lesender Zugriff als Möglichkeit?:
- ist simple-api nicht mehr "Stand der Technik" und ich würde den rest-api Adapter bevorzugen
Meinst du also den unteren hier statt dem oberen?
den oberen hatte ich bisher. Sind aber wohl beides REST-APIs
-
@loverz in dem Moment wo du ein Topic sendest, existiert es. Du kannst also immer den Topic-Namen vergeben.
Du kannst den MQTT-Adapter als Broker nutzen. Und dich dann z.B. mit dem MQTT-Explorer (Windows/Linux/Mac Software) mit diesem verbinden. Der zeugt was er empfängt und du kannst dort auch etwas senden. Das taucht dann sofort in ioBroker auf wenn es etwas neues ist oder der Wert ändert sich wenn er den schon kennt.Der MQTT-Adapter, egal ob als Broker oder als Client, stellt die die MQTT Topic als normale Datenpunkte dar.
Das MQTT Topicdas/ist/mir/doch/egal
wäre dann
mqtt.0.das.ist.mir.doch.egal
Wenn es "viel wird" würde ich einen separaten MQTT-Broker wie Mosquitto aufsetzen und den MQTT-Adapter als Client verwenden. Viel ist relativ, ich habe über 100 MQTT-Geräte mit rund 43.000 Topics/Werten, da kommt der MQTT-Adapter als Broker an seine Grenzen da die Anfragen schnell genug beantwortet werden müssen.
Zum Testen und Probieren reicht das aber. -
@bananajoe danke für die hilfreichen Tipps!
Hab mir die WIndows Applikation heruntergeladen und bin am probieren.
Hab schon rausgefunden, dass ich:
- Mit dem Client connecten muss, damit der Adapter grün wird, sonst bleibt er gelb.
- Ich einfach unter mqtt.0 Ordner bzw. States anlegen muss, welche dann von dort aus veröffentlicht werden.
Jetzt muss ich ja nur noch dafür sorgen, dass die jeweiligen States z.B. per Blockly befüllt werden
-
Also: mqtt-Verbindung zu evcc scheint zu stehen.
evcc hat all seine Daten in den mqtt.0 Objekt.Ordner in ioBroker geschickt.Frage mich, wozu ich nun noch den evcc Adapter benötige
Jetzt fehlt nur noch der Weg von ioBroker zu evcc, aber das sollte nun nicht mehr so schwer sein.
-
Bekomme nun auch Daten von ioBroker zu evcc:
Leider spamt mir der Adapter aber mein log voll:
-
@loverz Pfft bin ich auch gerade überfragt.
Mein Adapter steht auch auf Warning, solche Meldung habe ich aber nie.
Allerdings nutze ich den Adapter auch nur als Client.
Es scheint als bekäme dein evcc seine Meldung nicht los bzw. bekommt diese nicht?Schon mal auf GitHub bei den Issues nachgesehen? Oder in der Aneitung des Adapters?
Du könntest das Logging des Adapters auch auf "Error" stellen, dann sollten diese Meldungen nicht kommen, wäre aber nur Symptome kaschieren