39_gassistant.pm (Google Assistant, Google Home)

Begonnen von dominik, 29 Januar 2019, 21:59:53

Vorheriges Thema - Nächstes Thema

dominik

Zitat von: Tabularasa am 04 September 2020, 15:33:32
Gibt es eigentlich zu dem Fehler mit dem leeren log Neuigkeiten? Es funktioniert immer mal wieder nicht. Erst nach Fhem Neustart.

Ich hatte das jetzt nicht weiter verfolgt, da es bei SouzA auch laenger lief und ich selbst auch keine Fehler mehr hatte. Hast du den Fehler noch regelmäßig? Kannst du bitte auch noch prüfen ob dein System aktuell ist, weil ich hatte vor paar Wochen auch ein apt upgrade bei mir gemacht, vielleicht hängt es auch damit zusammen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RomanB

Zitat von: dominik am 03 September 2020, 20:49:11
Du hast recht, Google empfiehlt Cook. Jetzt habe ich den Unterschied zwischen Dispense und Cook auch verstanden. Bei Dispense wird ein fertiges Produkt ausgegeben, bei Cook wird ein Produkt generiert und dann ausgegeben. Ist sehr aehnlich, aber im Sprachgebrauch wahrscheinlich doch unterschiedlich. Wobei Cook keine "Stk vorhanden" (amountRemaining) hat und fuer Kapselmaschinen das sicher hilfreich waere.

Habe mit Dispense schon angefangen, kann jedoch vieles davon fuer Cook verwenden. Die naechsten Tage werde ich es online stellen.

Noch paar Fragen:
- Um einen Kaffee zu machen, sind folgende Commands richtig?
set ... BSH.Common.Root.SelectedProgram Beverage.Espresso
set ... startProgram
- Um 2 Tassen Kaffee zu machen, sind folgende Commands richtig?
set ... BSH.Common.Root.SelectedProgram Beverage.Espresso
set ... startProgram
set ... startProgram
Oder sind mehrere Tassen nicht moeglich, da startProgram erst nach Fertigstellung der 1. Tasse wieder geht?
- Kann man mit diesem Befehl die Kaffeestaerke einstellen: ConsumerProducts.CoffeeMaker.Option.BeanAmount? Welche Optionen gibt es?
- Kann man mit diesem Befehl die Temperatur einstellen: ConsumerProducts.CoffeeMaker.Option.CoffeeTemperature? 30-100 Grad?
- Was macht dieser Befehl: BSH.Common.Setting.PowerState?
- Offtopic: Muss man bei der Maschine wirklich keine Reinigung der Milchzufuhr machen? Klingt ja super :)

Hi, ich fange mal anders an... ;-)
Mit BSH.Common.Setting.PowerState kann ich die Maschine ein- und ausschalten. Als Parameter wird ein Enum verwendet.
Einschalten: set ... BSH.Common.Setting.PowerState BSH.Common.EnumType.PowerState.On
Ausschalten/Standby: set ... BSH.Common.Setting.PowerState BSH.Common.EnumType.PowerState.Standby
(Quelle: https://developer.home-connect.com/docs/settings/power_state)

Ja, mit set ... BSH.Common.Root.SelectedProgram Beverage.Espresso wird z.B. der Espresso ausgewählt. Dieser wählt auch die Standardparameter (oder die zuletzt benutzen?) aus.
Danach kann man die einzelnen Parameter auswählen. Die Doku schreibt:
ZitatPlease note that most of our appliances dynamically update the API over the available options upon selection of the program. Therefore, the simplest and safest implementation would be to first select a program without any option and then query the available options of this program and for example dynamically present them on UI

Die Parameter für ConsumerProducts.CoffeeMaker.Option.BeanAmount gibt es hier: https://developer.home-connect.com/docs/coffee-maker/bean_amount_option
Für ConsumerProducts.CoffeeMaker.Option.CoffeeTemperature: https://developer.home-connect.com/docs/coffee_machine/coffee_temperature_option
Außerdem gibt es noch die Möglichkeit, die Menge zu definieren: ConsumerProducts.CoffeeMaker.Option.FillQuantity https://developer.home-connect.com/docs/coffee-maker/fill_quantity_option

Leider funktionieren die Optionen für mich derzeit nicht aus FHEM heraus. Vielleicht schreibe ich hier mal dem Entwickler des Devices.
Vielleicht liegt das an dem festen Command Prefix "ConsumerProducts.CoffeeMaker.Program."
Ich denke aber, dass die wichtigste Funktion "mach mir einen Kaffee/Latte/..." ist und die meisten die anderen Parameter einmal an der Maschine setzen.

Das doppelte Abschicken von startProgram wird imho nicht funktionieren. Ich denke, während des Bezugs ist die Maschine "gesperrt".
An der Maschine gibt es einen Knopf für "zwei Tassen", dann läuft aus jeder Öffnung die doppelte Menge und man kann zwei Tassen darunter stellen. In der API-Doku habe ich das jedoch nicht gefunden. (Genauso wie die Milchmenge und andere Optionen).

Zur Reinigung der Milchzufuhr: Diese kann man im Menü der Maschine auswählen. Wie kommst du darauf, man muss keine Reinigung vornehmen? ;-) Ansonsten "spült" die Maschine bei jedem Start durch, jedoch nicht die Milchzufuhr.

SouzA

Zitat von: dominik am 04 September 2020, 15:38:39
Ich hatte das jetzt nicht weiter verfolgt, da es bei SouzA auch laenger lief und ich selbst auch keine Fehler mehr hatte. Hast du den Fehler noch regelmäßig? Kannst du bitte auch noch prüfen ob dein System aktuell ist, weil ich hatte vor paar Wochen auch ein apt upgrade bei mir gemacht, vielleicht hängt es auch damit zusammen.
Hi,
das stimmt so nicht ganz.
Ich habe jetzt auch nicht jedes Mal den Stillstand gepostet, weil ich auch nicht immer dazu kam, die Raspi Logs zu sichten.
Ein apt upgrade ist bei mir im Desaster geendet und ich musste das Backup zurück spielen.

Von daher hängt ab und zu der gassistant, aber zugegebener maßen kommen die hänger jetzt in längeren Abständen.

Bis denn
SouzA

Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

dominik

#2163
@RomanB, danke für die ausführliche Antwort. Ich schau mir das dann dieses WE an. Bzgl. Milchzufuhr, auf der Website der Maschine steht "autoMilk clean", das hätte ich auch gerne ;)

@SouzA, danke für die Info, ich dachte es läuft seit dem. Kannst du oder Tabularasa beim nächsten Mal bitte prüfen ob der Prozess auf 100% läuft (mit "top").

Könnt ihr bitte mal Version 2.3.0 vom Client installieren ("npm install gassistant-fhem@2.3.0"). Von 2.3.0 auf 3.0.0 waren die größten Änderungen inkl. Local Home Integration. Wäre super, wenn jemand bei dem der Fehler auftritt das mal testen könnte. Bis auf Local Home sollte mit dem 2.3.0 Client auch alles funktionieren.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

SouzA

Zitat von: dominik am 04 September 2020, 20:18:47
@SouzA, danke für die Info, ich dachte es läuft seit dem. Kannst du oder Tabularasa beim nächsten Mal bitte prüfen ob der Prozess auf 100% läuft (mit "top").
Sorry,
da weiß ich jetzt nichts mit anzufangen...
Wie überprüft man das?

Ich installiet morgen mal die alte Version.

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

Tabularasa

#2165
Zitat von: dominik am 04 September 2020, 20:18:47
@SouzA, danke für die Info, ich dachte es läuft seit dem. Kannst du oder Tabularasa beim nächsten Mal bitte prüfen ob der Prozess auf 100% läuft (mit "top").

Könnt ihr bitte mal Version 2.3.0 vom Client installieren ("npm install gassistant-fhem@2.3.0"). Von 2.3.0 auf 3.0.0 waren die größten Änderungen inkl. Local Home Integration. Wäre super, wenn jemand bei dem der Fehler auftritt das mal testen könnte. Bis auf Local Home sollte mit dem 2.3.0 Client auch alles funktionieren.
Hi. Also sieht so aus als ob er auf 100% läuft. Hab jetzt aber noch nicht die alte Version probiert. Und ich bin noch auf Stretch, der Umzug auf was neues ist zeitlich bei mir immer etwas lang.

dominik

@RomanB, HomeConnect CoffeeMaker Integration mit Cook ist fertig :) Stelle ich noch heute Nachmittag online wenn sonst alle Tests passen.

@Tabularasa, SouzA, ich mach heute noch ein Update vom Client auf 3.0.3 wo die ganzen Libraries (grpc, firebase) aktualisiert werden. Vielleicht hilft das...bitte dennoch einen Test mit 2.3.0 machen. Danke!
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

#2167
Cook Trait ist nun Live und damit die HomeConnect CoffeeMaker Integration ebenfalls. Wird automatisch erkannt und fuer alle Kaffeesorten die unter INTERNALS program zu finden sind eingerichtet. Man kann dann z.B. sagen, "Mach mir einen Espresso". Bitte um Test, da ich es selbst nur mit einem selbst gebauten Device testen konnte.
Ausschalten und einschalten wird mit dem Enum On/Off gemacht. Standby wird als On erkannt.

//Edit: Wahrscheinlich hast du gerade getestet, ich habe nämlich soeben einen Fehler im Log gesehen. Hab den gerade behoben und den Fix eingespielt. Müsstest nochmals ein reload machen.


Wer selbst einen Cook Trait als homebridgeMapping einrichten moechte, findet Informationen im Wiki: https://wiki.fhem.de/wiki/Google_Assistant_FHEM_Connect#Konfiguration
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Chaos

#2168
Hi,

die Sache mit Kaffeemaschine freut mich gerade sehr.
Ich hab jetzt einfach mal meine auf genericdevicetype coffemaker gestellt. Aber daraufhin erscheint diese nicht mehr in der Home App.
Lt. Gassisstant Log : failed to generateTraits for TI9555X1DE, TypeError: Cannot read property 'split' of undefined

Aber ich hab hier scheinbar noch ein anderes Problem.
Ich hab den FHEM Connector aus der Home App rausgeschmissen und nochmals hinzugefügt, aber jetzt bekomme ich nur das Setup Gerät angezeigt. Um auszuschließen dass ich einen falschen Account benutzt hab, hab ich im Gassisstant im FHEM ebenfalls neu eingeloggt. Aber ich bekomme keine Geräte.

MfG
Manuel



dominik

@Chaos, den Fehler habe ich gerade behoben. Kannst du mir bitte dein homebridgeMapping reinkopieren?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Chaos

Hi,

das letzte Mapping das bei mir vorm Löschen drin stand:
On=state,valueOn=idle,valueOff=off,cmdOn=BSH.Common.Setting.PowerState+BSH.Common.EnumType.PowerState.On,cmdOff=BSH.Common.Setting.PowerState+BSH.Common.EnumType.PowerState.Standby

dominik

Kannst du das Device TI9555X1DE nochmals aus dem Raum rausnehmen, und danach ein reload machen? Ist das Device TI9555X1DE direkt die Kaffeemaschine oder ein dummy? Falls es die Kaffeemaschine ist, nimm das homebridgeMapping mal raus.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Chaos

#2172
Ist die Kaffeemaschine und kein Dummy.

Kann das Mapping rausnehmen, aber ich glaube das bringt gerade nix weil  hier irgendwas mit Firebase in die Hose geht:

[2020-9-6 14:40:52] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=setreading%20gassistant%20gassistant-fhem-connection%20connected&XHR=1
[2020-9-6 14:40:52] ERROR: https://europe-west1-fhem-ga-connector.cloudfunctions.net/api/3.0/genmappings => 500:{"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":{"data":{"type":"Buffer","data":[69,114,114,111,114,58,32,99,111,117,108,100,32,110,111,116,32,104,97,110,100,108,101,32,116,104,101,32,114,101,113,117,101,115,116,10]},"next":null},"tail":{"data":{"type":"Buffer","data":[69,114,114,111,114,58,32,99,111,117,108,100,32,110,111,116,32,104,97,110,100,108,101,32,116,104,101,32,114,101,113,117,101,115,116,10]},"next":null},"length":1},"length":36,"pipes":null,"pipesCount":0,"flowing":null,"ended":true,"endEmitted":false,"reading":false,"sync":false,"needReadable":false,"emittedReadable":true,"readableListening":false,"resumeScheduled":false,"paused":true,"emitClose":true,"autoDestroy":false,"destroyed":false,"defaultEncoding":"utf8","awaitDrain":0,"readingMore":false,"decoder":null,"encoding":null},"readable":true,"_events":{},"_eventsCount":2,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":true,"ended":true,"finished":true,"destroyed":false,"decodeStrings":true,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"bufferedRequest":null,"lastBufferedRequest":null,"pendingcb":0,"prefinished":true,"errorEmitted":false,"emitClose":true,"autoDestroy":false,"bufferedRequestCount":0,"corkedRequestsFree":{"next":null,"entry":null}},"writable":false,"allowHalfOpen":true,"_transformState":{"needTransform":false,"transforming":false,"writecb":null,"writechunk":null,"writeencoding":"buffer"}}
[2020-9-6 14:40:50] [LOCAL] Local Home ready

Vermutlich bekomme ich deshalb auch nur das Setup Device in der Home App angezeigt.


EDIT: Problem ist weg wenn die Kaffeemaschine nicht im GHome Raum ist.


dominik

Kannst du mir bitte noch ein jsonlist2 von der Kaffeemaschine posten?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Chaos

Zitat von: dominik am 06 September 2020, 14:49:48
Kannst du mir bitte noch ein jsonlist2 von der Kaffeemaschine posten?
{
  "Arg":"TI9555X1DE",
  "Results": [
  {
    "Name":"TI9555X1DE",
    "PossibleSets":"startProgram requestSettings BSH.Common.Root.SelectedProgram:Beverage.Ristretto,Beverage.EspressoDoppio,Beverage.Espresso,Beverage.EspressoMacchiato,Beverage.Coffee,Beverage.Cappuccino,Beverage.LatteMacchiato,Beverage.CaffeLatte,Beverage.MilkFroth,Beverage.WarmMilk,CoffeeWorld.CafeCortado,CoffeeWorld.FlatWhite,CoffeeWorld.Americano,CoffeeWorld.KleinerBrauner,CoffeeWorld.GrosserBrauner,CoffeeWorld.Verlaengerter,CoffeeWorld.VerlaengerterBraun,CoffeeWorld.WienerMelange,CoffeeWorld.Cortado,CoffeeWorld.CafeConLeche,CoffeeWorld.CafeAuLait,CoffeeWorld.Kaapi,CoffeeWorld.KoffieVerkeerd,CoffeeWorld.Galao,CoffeeWorld.Garoto,CoffeeWorld.RedEye,CoffeeWorld.BlackEye,CoffeeWorld.DeadEye requestProgramOptions:Beverage.Ristretto,Beverage.EspressoDoppio,Beverage.Espresso,Beverage.EspressoMacchiato,Beverage.Coffee,Beverage.Cappuccino,Beverage.LatteMacchiato,Beverage.CaffeLatte,Beverage.MilkFroth,Beverage.WarmMilk,CoffeeWorld.CafeCortado,CoffeeWorld.FlatWhite,CoffeeWorld.Americano,CoffeeWorld.KleinerBrauner,CoffeeWorld.GrosserBrauner,CoffeeWorld.Verlaengerter,CoffeeWorld.VerlaengerterBraun,CoffeeWorld.WienerMelange,CoffeeWorld.Cortado,CoffeeWorld.CafeConLeche,CoffeeWorld.CafeAuLait,CoffeeWorld.Kaapi,CoffeeWorld.KoffieVerkeerd,CoffeeWorld.Galao,CoffeeWorld.Garoto,CoffeeWorld.RedEye,CoffeeWorld.BlackEye,CoffeeWorld.DeadEye",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 disable:0,1 updateTimer stateFormat event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading ASC:0,1,2 alexaName alexaRoom assistantName:textField cmdIcon devStateIcon devStateIcon:textField-long devStateStyle gassistantName:textField genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,aircondition,airpurifier,camera,coffeemaker,dishwasher,dryer,fan,kettle,oven,refrigerator,scene,sprinkler,vacuum,washer,airfreshener,fireplace,heater,blinds,awning,boiler,curtain,door,gate,hood,microwave,pregola,securitysystem,shutter,shower,valve,waterheater,ac_unit,bathtub,bed,blender,closet,coffee_maker,cooktop,dehumidifier,dehydrator,drawer,faucet,fryer,grill,humidifier,mop,mower,multicooker,pergola,petfeeder,pressurecooker,radiator,sousvide,standmixer,yogurtmaker,charger,sensor,carbon_monoxide_detector,remotecontrol,settop,smoke_detector,tv,waterpurifier,watersoftener,network,router homebridgeMapping:textField-long icon realRoom:textField sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "CFGFN": "",
      "DEF": "hcconn SIEMENS-TI9555X1DE-68A40E267557",
      "FUUID": "5f54d45a-f33f-67e1-60b6-265e8c0494b1003d",
      "NAME": "TI9555X1DE",
      "NR": "2435",
      "STATE": "Idle",
      "TYPE": "HomeConnect",
      "aliasname": "Kaffeevollautomat",
      "brand": "Siemens",
      "commandPrefix": "ConsumerProducts.CoffeeMaker.Program.",
      "eventChannelTimeout": "1599396623",
      "haId": "SIEMENS-TI9555X1DE-68A40E267557",
      "hcconn": "hcconn",
      "programs": "Beverage.Ristretto,Beverage.EspressoDoppio,Beverage.Espresso,Beverage.EspressoMacchiato,Beverage.Coffee,Beverage.Cappuccino,Beverage.LatteMacchiato,Beverage.CaffeLatte,Beverage.MilkFroth,Beverage.WarmMilk,CoffeeWorld.CafeCortado,CoffeeWorld.FlatWhite,CoffeeWorld.Americano,CoffeeWorld.KleinerBrauner,CoffeeWorld.GrosserBrauner,CoffeeWorld.Verlaengerter,CoffeeWorld.VerlaengerterBraun,CoffeeWorld.WienerMelange,CoffeeWorld.Cortado,CoffeeWorld.CafeConLeche,CoffeeWorld.CafeAuLait,CoffeeWorld.Kaapi,CoffeeWorld.KoffieVerkeerd,CoffeeWorld.Galao,CoffeeWorld.Garoto,CoffeeWorld.RedEye,CoffeeWorld.BlackEye,CoffeeWorld.DeadEye",
      "retrycounter": "0",
      "type": "CoffeeMaker",
      "vib": "TI9555X1DE"
    },
    "Readings": {
      "BSH.Common.Status.DoorState": { "Value":"BSH.Common.EnumType.DoorState.Closed", "Time":"2020-09-06 14:21:54" },
      "BSH.Common.Status.LocalControlActive": { "Value":"0", "Time":"2020-09-06 14:21:54" },
      "BSH.Common.Status.OperationState": { "Value":"BSH.Common.EnumType.OperationState.Ready", "Time":"2020-09-06 14:21:54" },
      "BSH.Common.Status.RemoteControlStartAllowed": { "Value":"1", "Time":"2020-09-06 14:21:54" },
      "state": { "Value":"Idle", "Time":"2020-09-06 14:21:54" }
    },
    "Attributes": {
      "alias": "Kaffeevollautomat",
      "genericDeviceType": "coffeemaker",
      "icon": "max_heizungsthermostat",
      "room": "Küche",
      "webCmd": "BSH.Common.Root.SelectedProgram:startProgram:stopProgram"
    }
  }  ],
  "totalResultsReturned":1