[70_QboCoffee] Qbo Kaffeemaschine

Begonnen von fhainz, 30 September 2017, 19:23:39

Vorheriges Thema - Nächstes Thema

fhainz

Hallo zusammen,

aufgrund eines Defektes der alten Kaffeemaschine stand vor einiger Zeit ein Neukauf an. Nach einer kurzen Kaffee-Probe im Tschibo-Shop entschied ich mich für die Qbo Maschine. Der Kaffee ist weltklasse und eine API gibt gleich mitdazu. Seit dem letzten Update kann man sogar die Zubereitung des Kaffees per App starten. :)

Leider gibt es keine Dokumentation der API deshalb musste ich mich durch den Android Code quälen. Den Qbo Support hab ich vor ca. 2 Wochen bezüglich der API kontaktiert, leider bisher keine Rückmeldung.  :(

Das Modul kann derzeit diverse Wartungs Informationen (Kaffees bis zur nächsten Reinigung, Wasser bis zum nächsten Entkalken, Reinigungs-Status, etc.), Einstellungen (Name, Auto-Spülen, Remote-Brew, etc.), Versions-Infos, usw. auslesen. Zusätzlich habe ich einen Kaffezähler und einen Wasserzähler eingebaut.

Das Schreiben der Einstellungen, auch das Zubereiten sollte auch via FHEM funktionieren, ich hab es aber bisher nicht geschafft den richtigen Http-Aufruf nachzustellen.
Es gibt auch eine Qbo-Cloud die nach einer Registrierung einige Statistiken via App bereitstellt. Auch dazu gibt es eine API, auch hier kein erfolg bisher mit dieser zu kommunizieren. Ich glaube hier scheitert es derzeit beim Anmelden.  :-X


Das Modul kann man sich entweder hier auf Github zum testen laden, oder gleich zum Update hinzufügen:
update add https://raw.githubusercontent.com/fhainz/QboCoffee-FHEM/master/controls_QboCoffee.txt


Viel Spaß beim Testen!

Grüße

Christoph Morrison

Kurzes Feedback:


  • Kaffees ohne Apostroph
  • Spülen ohne h

Ansonsten natürlich immer toll, dass es für alles hier Module gibt.

mathiasrudig

Hallo, habe das Problem  "cannot load Modul" wenn ich das Device anlegen möchte!
Modul wurde von Github geladen und nach /opt/fhem/FHEM zu den anderen Modulen kopiert.
Was mache ich falsch?

LG Mathias

fhainz

JSON ist auf deinem System installiert?

mathiasrudig

Ja alles installiert!
Habe das Modul wie folgt installiert:

Am PI angemeldet und in ins /opt/fhem/FHEM/ Verzeichnis gewechselt,
dannach mittels wget von der Github seite geladen und alle Rechte vergeben!
Dann das automatische Update wie in diesm Thread beschieben ausgeführt und dann das
Device angelegt (da kommt dann der Fehler)!

LG Mathias

fhainz


mathiasrudig

Logfile Auszug:

2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_Initialize redefined at ./FHEM/70_QboCoffee.pm line 36, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_Define redefined at ./FHEM/70_QboCoffee.pm line 49, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_Get redefined at ./FHEM/70_QboCoffee.pm line 104, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_Attr redefined at ./FHEM/70_QboCoffee.pm line 147, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_run redefined at ./FHEM/70_QboCoffee.pm line 171, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_getUpdateAll redefined at ./FHEM/70_QboCoffee.pm line 182, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_getUpdateAll2 redefined at ./FHEM/70_QboCoffee.pm line 195, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_getMachineInfo redefined at ./FHEM/70_QboCoffee.pm line 230, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_getLatestFirmwareVersion redefined at ./FHEM/70_QboCoffee.pm line 239, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_getMaintenance redefined at ./FHEM/70_QboCoffee.pm line 248, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_getName redefined at ./FHEM/70_QboCoffee.pm line 257, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_getSettings redefined at ./FHEM/70_QboCoffee.pm line 266, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_getDataFromMachine redefined at ./FHEM/70_QboCoffee.pm line 277, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_httpResponse redefined at ./FHEM/70_QboCoffee.pm line 299, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_coffeeCnt redefined at ./FHEM/70_QboCoffee.pm line 389, <$fh> line 82.
2018.03.08 09:17:45 1: PERL WARNING: Subroutine QboCoffee_coffeeCntRst redefined at ./FHEM/70_QboCoffee.pm line 419, <$fh> line 82.
2018.03.08 09:17:45 1: reload: Error:Modul 70_QboCoffee deactivated:
Experimental each on scalar is now forbidden at ./FHEM/70_QboCoffee.pm line 473, <$fh> line 82.

2018.03.08 09:17:45 0: Experimental each on scalar is now forbidden at ./FHEM/70_QboCoffee.pm line 473, <$fh> line 82.

das habe ich gefunden!

fhainz

Das liegt an deiner Perl-Version. Vermutlich 5.24?
Kannst du mal bitte die neue Version testen, ich hab leider kein System mit 5.24.

mathiasrudig

Nach upgrade habe ich folgende Version *, jedoch ist der Fehler noch vorhanden!

*perl is already the newest version (5.24.1-3+deb9u2).

his is perl 5, version 24, subversion 1 (v5.24.1) built for arm-linux-gnueabihf-thread-multi-64int
(with 75 registered patches, see perl -V for more detail)

Copyright 1987-2017, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

fhainz

Nicht eine neue Perl Version, die ist ja das Problem, sondern die neue version des Moduls im Github.

mahowi

Hallo fhainz,

kannst Du bitte die controls.txt aktualisieren? Ansonsten lässt sich das Modul nicht mehr über update installieren.

Ich bekomme nächste Woche auch eine QBO zum testen, die ich günstig bei eBay ersteigert habe.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

fhainz

Sry, hab vergessen die control zu updaten. Sollte jetzt funktionieren.

mahowi

#12
So, ich habe meine Qbo heute bekommen und in Betrieb genommen. Das Einbinden in FHEM war auch kein Problem.

Was mir auffällt, die Readings werden nicht aktualisiert. Ich habe zum Testen mal das Intervall auf 60 Sekunden gestellt und "countCoffees" auf 1. Außer  "activity" wird kein Reading aktualisiert, auch nicht mit " updateAll".

Hier mal das komplette Device:
defmod Qbo QboCoffee QBO
attr Qbo countCoffees 1
attr Qbo icon scene_coffee_maker_automatic
attr Qbo interval 60
attr Qbo room Küche
attr Qbo stateFormat Status: activity / Kaffees heute: coffeeCountToday

setstate Qbo Status: getMaintenance / Kaffees heute: 1
setstate Qbo 2018-03-23 16:47:49 activity getMaintenance
setstate Qbo 2018-03-23 15:43:53 alexa 1
setstate Qbo 2018-03-23 15:43:53 autorinsing 1
setstate Qbo 2018-03-23 15:44:51 coffeeCount 1
setstate Qbo 2018-03-23 15:44:51 coffeeCountMonth 1
setstate Qbo 2018-03-23 15:44:51 coffeeCountToday 1
setstate Qbo 2018-03-23 15:44:51 coffeeCountWeek 1
setstate Qbo 2018-03-23 15:44:51 coffeeCountYear 1
setstate Qbo 2018-03-23 15:44:51 coffeesTillCleaning 79
setstate Qbo 2018-03-23 15:44:51 currentCleanValue 1
setstate Qbo 2018-03-23 15:44:51 currentDescaleValue 18196
setstate Qbo 2018-03-23 15:43:53 firmware 1
setstate Qbo 2018-03-23 15:43:53 hardness 0
setstate Qbo 2018-03-23 15:43:53 language 0
setstate Qbo 2018-03-23 15:43:51 macAddress BC:30:7E:1E:29:FE
setstate Qbo 2018-03-23 15:44:51 machineCleanStatus 0
setstate Qbo 2018-03-23 15:44:51 machineDescaleStatus 0
setstate Qbo 2018-03-23 15:44:51 maximumCleanValue 80
setstate Qbo 2018-03-23 15:44:51 maximumDescaleValue 60000
setstate Qbo 2018-03-23 15:43:54 name Qbo
setstate Qbo 2018-03-23 15:43:53 privacy 1
setstate Qbo 2018-03-23 15:43:53 remotebrew 1
setstate Qbo 2018-03-23 15:44:51 rinsingStatus 0
setstate Qbo 2018-03-23 15:43:51 serialNumber 93603020001795
setstate Qbo 2018-03-23 15:43:53 sleep 9
setstate Qbo 2018-03-23 15:26:08 state Initialized
setstate Qbo 2018-03-23 15:43:53 stayon 1
setstate Qbo 2018-03-23 15:43:51 version V01.40.E000
setstate Qbo 2018-03-23 15:44:51 versionLatest V01.40.E000
setstate Qbo 2018-03-23 15:44:51 versionUpToDate 1
setstate Qbo 2018-03-23 15:44:51 waterCount 18196
setstate Qbo 2018-03-23 15:44:51 waterTillDescale 41804


Wie man sieht, "activity" ist aktuell, der Rest hat die Werte nach dem Einrichten.

Edit: Wo finde ich denn die Qbo Cloud und die dazugehörige API? Der Link führt leider nur zu einer Fehlerseite.

Edit2: Das Problem mit den Updates hat sich erledigt. Es lag an Problemen mit meinem WLAN.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

fhainz

#13
Die Maschine ist sicher eingeschaltet?  ;)

activity sollte nach erfolgreichem updaten auf done stehen.
setstate ku.kaffeemaschine 2018-03-23 18:05:43 activity done

Der erste Link auf die Qbo-Seite hatte einen Fehler. Der zu Qbo-Cloud passt schon so. Du bekommst eine Warnung weil das Domain-Zertifikat ungültig ist. Nachdem du das abgenickt hast (je nach Browser unterschiedlich) kommst du auf eine seite mit einer rest-api. Die Api ist aber gänzlich undokumentiert und meine 2 Support-Anfragen bezüglich der API blieben unbeantwortet.

Hast du einen Fehler im Log?

Edit:
Gut das es nun läuft!  :)

mahowi

Zitat von: fhainz am 23 März 2018, 18:17:53
Der erste Link auf die Qbo-Seite hatte einen Fehler. Der zu Qbo-Cloud passt schon so. Du bekommst eine Warnung weil das Domain-Zertifikat ungültig ist. Nachdem du das abgenickt hast (je nach Browser unterschiedlich) kommst du auf eine seite mit einer rest-api. Die Api ist aber gänzlich undokumentiert und meine 2 Support-Anfragen bezüglich der API blieben unbeantwortet.

Ich bekomme bei Deinem Link zur Cloud keine Warnung, dafür aber nur das hier auf der Seite:
Zitat von: https://qloud.qbo.coffeeWhitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri Mar 23 19:05:01 CET 2018

There was an unexpected error (type=Not Found, status=404).

No message available


Leider scheint sich sonst im Netz auch noch niemand mit der API beschäftigt zu haben, zumindest findet Google zu "Qbo API" im Zusammenhang mit der Kaffeemaschine nur diesen Thread.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

fhainz

Den Link habe ich gemeint. Versuch mal einen anderen Browser. Im Safari sieht es wie im Anhang aus.

Zitat von: mahowi am 23 März 2018, 19:11:47
Leider scheint sich sonst im Netz auch noch niemand mit der API beschäftigt zu haben, zumindest findet Google zu "Qbo API" im Zusammenhang mit der Kaffeemaschine nur diesen Thread.
Ja, leider. Ich habe damals auch mehrere Stunden gesucht bis ich mich zum reverse-engeneering der Android App entschlossen hab. Viel hab ich da aber nicht rausgesehen. Ich denke es scheitert nur am login in die cloud, dann könnte man alle Daten abrufen die du auch in der App sehen kannst. (Kaffee-History, etc). Aber den login hab ich nie hinbekommen. Wenn du willst kann ich dir die Daten zukommen lassen, hab die sicher noch irgendwo.

mahowi

Im Chrome bekomme ich auch die Warnung, nach dem Bestätigen dann aber auch nur die Seite mit dem Fehlertext wie oben.

Wäre nett, wenn Du mir die Daten zusenden oder z.B. auf Github ablegen würdest, dann guck ich mir das mal an. Es wäre natürlich klasse, wenn man die Maschine auch steuern könnte.

Eventuell hilft es, den Netzwerkverkehr der App mitzuschneiden ähnlich wie hier beschrieben. Da man die Maschine mittlerweile auch über Alexa steuern kann, muß es ja einen Weg von außen geben.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee


mahowi

Vielen Dank erstmal!  :)

Ich guck mir am Wochenende mal den Code an. Ich hab mal auf die Schnelle versucht, was mit dem Proxy mitzuschneiden, aber dabei ist leider nichts rausgekommen. Vielleicht find ich ja noch was raus. Der Login in der Cloud schlägt bei mir auf jeden Fall auch fehl.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

mahowi

Werden die Kaffees vom Modul gezählt, wenn das Attribut "CountCoffees" gesetzt ist, oder von der Maschine ausgelesen? Mir werden nämlich vom Modul weniger Bezüge angezeigt als von der App. Bei Zählung durchs Modul liegt das wahrscheinlich an WLAN-Problemen.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

fhainz

Ja das wird aktuell leider vom Modul mitgezählt, nachdem noch kein Cloud zugriff besteht. In der Cloud sieht man die komplette History, dann könnt man auch richtig zählen.

sptzdmnc

Hey,

Cool zu hören, dass es Leute gibt, die die Maschine auch per Smarthome steuern möchten.

Ich habe mir ein shell script gebastelt und sende so Getränke zur QBO / Rufe den Kalkstatus ab.
https://github.com/Dom1n1c/QBO-Remotebrew

Senden der Rezepte an die Maschine ist allerdings problematisch. Ich muss den Brühvorgang an der Maschine starten. Hierfür verwende ich einen POST Befehl an https://qbo/brew
Die URL https://qbo/remote/brew klappt nicht.

Vielen Dank für eure Hilfe.