Fehler: #!/usr/bin/php Calling parameters: action : summary option : value : Using configfile /opt/loxberry/config/plugins/Vitoconnect/config.json Running on a LoxBerry Using broker settings from MQTT Gateway plugin: Broker host : localhost:1883 Broker user : loxberry Broker pass : v*************** File data error, no token found. Fallback to re-login Status: 400 {"error":"Client not registered."}Status: 400 Data error, no token found. Response: Get Data from Viessmann API Service. JSON error, or JSON is empty: Error code 0 No error
Loxberry Vitoconnect
Einklappen
X
-
also die Daten stimmen genau überein.
Fehler: #!/usr/bin/php Calling parameters: action : summary option : value : Using configfile /opt/loxberry/config/plugins/Vitoconnect/config.json Running on a LoxBerry Using broker settings from MQTT Gateway plugin: Broker host : localhost:1883 Broker user : loxberry Broker pass : v*************** File data error, no token found. Fallback to re-login Status: 400 {"error":"Client not registered."}Status: 400 Data error, no token found. Response: Get Data from Viessmann API Service. JSON error, or JSON is empty: Error code 0 No error -
die VCare App funktioniert einwandfrei. Ich glaube auch das bei der Erstellung des APi ein Fehler ist. Könnt ihr mir sagen wie genau ihr den Key erzeugt habt ?Kommentar
-
Ja ich habe alles so gemacht wie beschrieben. Ich habe ein Problem bei der API Key Erstellung im Viessmann Developer Portal.Kommentar
-
In Query Links and Data kommt es zu folgender Fehlermeldung:
bei aufrufen des Links : http://<lbuser>:<lbpass>@loxberry:80/admin/plugins/Vitoconnect/vitoconnect.php?action=summary
Natürlich mit richtigen Benutzernamen und PW.
kommt das als Fehlermeldung:
#!/usr/bin/php Calling parameters: action : summary option : value : Using configfile /opt/loxberry/config/plugins/Vitoconnect/config.json Running on a LoxBerry Using broker settings from MQTT Gateway plugin: Broker host : localhost:1883 Broker user : loxberry Broker pass : v*************** File data error, no token found. Fallback to re-login Status: 400 {"error":"Client not registered."}Status: 400 Data error, no token found. Response: Get Data from Viessmann API Service. JSON error, or JSON is empty: Error code 0 No error
Ich glaube das der API Key nicht richtig ist. Wie ich den richtig erzeugen kann auf dem Viessmann Developer Portal weiß ich nicht.
-
Kommentar
-
Hallo zusammen,
ich finde das Plugin cool, da ich momentan versuche, weniger FHEM einzusetzen und mehr direkt den loxberry.
Ein Punkt der mir aufgefallen ist: So wie ich die API verstehe, kann man am aggregatedStatus am einfachsten prüfen, ob alles in Ordnung ist. Theoretisch kann man auch prüfen, wie viele Einträge die Fehlermeldungen haben etc. aber das finde ich recht kompliziert.
Ihr habt ja schon den aggregatedstatus als Text eingefügt. Textwerte sind leider zur automatischen Überwachung nicht so gut geeigenet. Die Conversion am MQTT Gateway kann man leider auch nicht nutzen, weil Viessmann seine API nicht so gut dokumentiert und man ja sich nur auf "WorksProperly" wenn alles OK ist verlassen kann, d.h. die Conversion von den anderen, potentiell unbekannten Werten zu einer Zahl fällt flach.
Ich habe daher einen PR aufgemacht, um im PHP noch ein weiteres Feld aggregatedstatus_ok eingefügt, dass 1 ist, wenn aggregatedstatus auf worksproperly steht (case insensitive). Falls ein anderer Wert drin steht, wird 0 gesetzt. Darauf kann man dann alerten.
Ich persönlich arbeite eher mit Python, früher auch mit Perl und bislang nicht mit PHP. Könntet ihr Euch mal wenn Ihr Zeit habt den PR ansehen und ggf. mergen und ein Release erstellen?
Ich habe den PR via GitHub gestellt: https://github.com/challo2018/LoxBer...connect/pull/3
Viele Grüße
Johannes
Kommentar
-
Hi Johannes, danke für deine Idee und die Implementierung. Ich werde es mergen und ein neues pre Release erstellen zum Testen. Muss mir deinen request noch genau anschauen da du hier auch Versionsnummer, Link zu GitHub etc geändert hast. So kann ich das nicht komplett übernehmen....
eventuell kannst du das auch nochmal auf dem request raus nehmen.Kommentar
-
Hallo Fabian,
Vielen Dank für die super schnelle Reaktion - perfekt. Mir war heute nochmal langweilig und ich habe noch ein Feature nachgeliefert, was - denke ich - ganz cool ist für die Fehlererkennung.
In den Daten von Viessmann steckt pro Datenpunkt ("Feature" genannt) ja ein eigener Timestamp. Die sind alle unterschiedlich, vermutlich wann sie irgendwie der Controller eingesammelt hat.
Bei mir war meist der Temperatursensor der aktuellste Timestamp. Ich habe jetzt bisschen Code eingebaut, der einfach den allerletzten Timestamp aus den Daten fischt und mitschickt.
Ich habe es auf die Loxone-Epoch-Time umgerechnet. Mann kann jetzt mit der Darstellung <v.u.> sich den Menschenlesbar dann in Loxone ausgeben lassen oder entsprechend ein Age ausrechen und dann - falls das Alter zu Alt ist, auch alerten. So kann man ziemlich sicher Ende zu Ende Stale Data erkennen.
der PR liegt unter https://github.com/challo2018/LoxBer...connect/pull/6 . Könntest Du Ihn der mal bei Gelegenheit ansehen?
Danke Dir,
Johannes
Kommentar
-
Hallo Fabian,
noch eine Frage: Es gibt das Attribut vitoconnect_heating_circuits_0_operating_modes_act ive_value, in dem der aktuelle Status drin steht. Das ist ja letztlich auch ein Enum. Meinst Du, es macht Sinn, hier auch einen Int-Basierten Wert zusätzlich anzubieten? Im Nuki-Plugin von Christian werden die States auch jeweils als Int übertragen... man könnte dann auch bei der Befehs-Schnittstelle das Int-Basiert anbieten. Muss man auch nicht so zwingend machen, ist vielleicht nur schöner wohnen.
Ich denke auch, dass die Loxone-Beispiel-Datei mit dem Status besser nur auf den opeating_modes_active_value aufbauen sollte und nicht auf den einzelnen boolschen Signalen, da - soweit ich das jetzt kapiert habe - es Nur Warmwasser normal / Nur Warmawsser reduziert so nicht geben kann. Sondern nur eine aus diesem Enum:
forcedNormal = Dauerbetrieb Normal
forcedReduces= Dauerbetrieb Reduzierte Temperatur / Eco
dhwAndHeating =Warmwasser und Heizung zeitgesteuert
dhw = Warmwasser zeitgesteuert
standby= aus
Was meinst Du?
Viele Grüße,
Johannes
Kommentar
-
Ich mache das momentan über ein Status Baustein. Aber klar man könnte das ganze auch in das Plugin verlegen.
Hier die Config. Eingang ist: vitoconnect_heating_circuits_0_operating_modes_act ive_value
1 BildKommentar
-
Kommentar
-
Hab ich abonniert - der Wert kommt trotzdem nicht an… Viessmann müsste das dann für die API freigeben - aber da liest men überall nur leere VersprechungenKommentar
-
Wärmepumpe Vitocal 252-A Produktname IDU VC 250-A AWO-E-AC 251 A16 Seriennummer 7720485201649122 Ich möchte den Energieverbrauch pro Tag und die thermische Leistung pro Tag mit Hilfe des APIs abfragen. Bitte gebt mir einen Hinweis, wie ich das bewerkstelligen kann. Z.B.: gibt es dazu einen data po...
demnach müsste der Parameter heating.power.consumption.total bereits über die API abrufbar sein?Kommentar
-
Hallo,
wir haben eine Vitocal 200-S mit vitoconnect. Die Energieverbrauchswerte sind in der ViCare App einsehbar, aber das Plugin liefert diese Werte leider nicht zurück (andere hingegen schon). Hat jemand ähnliche Erfahrungen gemacht?
Vielen Dank jedenfalls für das Plugin! -
Markus, DE oder AT? …Viessmann differenziert hier.. hab letzte Woche die Info erhalten, dass in AT die Abfragen via API heuer noch möglich sein werden - ob mit oder ohne dem Abo konnte er mir aber nicht nennen (Anfrage direkt über meinen Gebietsvertreter, da von den Entwicklern nix mehr zurück kam.. vermutlich alle Gen.-Z -
Hallo BranBern,
es ist eine Anlage (Vitocal 200-S AWB-E-AC 201.D08) in DE.
-
-
Gruß HRA
### MS Gen2 + Gen1, MultiExt, Ext, AirExt, DMXExt; DMX4ALL ###
### EnOcean, KNX, MDT GTII ###Kommentar
Kommentar