39_gassistant.pm (Google Assistant, Google Home)

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

Vorheriges Thema - Nächstes Thema

dominik

Hi,
wenn du in FHEM den Schalter ausschaltest, gehst du dann in der Home App auch einmal aus dem Schalter raus und dann wieder rein? Weil die Home App aktualisiert das bei Schaltern leider nicht im Hintergrund.
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 15 Oktober 2020, 20:13:09
Hi,
wenn du in FHEM den Schalter ausschaltest, gehst du dann in der Home App auch einmal aus dem Schalter raus und dann wieder rein? Weil die Home App aktualisiert das bei Schaltern leider nicht im Hintergrund.
Jup, sogar mit runterziehen und kreischen drehen...
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

Ich habe es gerade bei mir getestet mit einem dummy, da klappt es.

Kannst du mal im Log schauen ob ein reportstate beim Schalten aus FHEM kommt?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

SouzA

#2343
Zitat von: dominik am 15 Oktober 2020, 21:09:49
Ich habe es gerade bei mir getestet mit einem dummy, da klappt es.

Kannst du mal im Log schauen ob ein reportstate beim Schalten aus FHEM kommt?

[5.10.2020, 22:05:34] [ghome] update reading: du_ku_Radio_ein_aus:state = Aus
[15.10.2020, 22:05:35] reportstate_v2: {"requestId":"629870588156","agentUserId":"google-oauth2|106928659602863811052","payload":{"devices":{"states":{"du_ku_Radio_ein_aus":{"on":true,"online":true}}}}}


Da wird ja irgendwie on geschrieben?

Kannst du mal bitte nen list von deinem Schalterdummy posten... Danke.

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

#2344
state = Aus muss state = off sein :)

Internals:
   FUUID      5d5ed975-f33f-faa4-3101-948d4a7d9aacae9a
   NAME       d_walle.emptydustbin
   NR         182
   STATE      off
   TYPE       dummy
   READINGS:
     2020-10-15 21:07:44   state           off
Attributes:
   alias      Saugroboter Wartung
   realRoom   Wohnung
   room       GoogleAssistant
   setList    on off
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

a_quadrat

Zitat von: dominik am 11 Oktober 2020, 19:52:31
Super! Folgende Readings bräuchtest du:
- rgb
- ct
- colormode
- state

State sollte gleich funktionieren. Die anderen Readings muss ich dann noch aktivieren, da ich für LightGroup vorerst keine Readings hinterlegt habe. Kann ich aber gerne ergänzen.

Hallo Dominik,

ich habe die Readings in der HUE-Gruppe mit aufgenommen, aber der Satus der Lampen wird in der App nicht aktualisiert.

VG Andreas

SouzA

Zitat von: dominik am 15 Oktober 2020, 22:47:24
state = Aus muss state = off sein :)

Internals:
   FUUID      5d5ed975-f33f-faa4-3101-948d4a7d9aacae9a
   NAME       d_walle.emptydustbin
   NR         182
   STATE      off
   TYPE       dummy
   READINGS:
     2020-10-15 21:07:44   state           off
Attributes:
   alias      Saugroboter Wartung
   realRoom   Wohnung
   room       GoogleAssistant
   setList    on off


::) Funzt. Danke!
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

Zitat von: a_quadrat am 16 Oktober 2020, 13:32:50
Hallo Dominik,

ich habe die Readings in der HUE-Gruppe mit aufgenommen, aber der Satus der Lampen wird in der App nicht aktualisiert.

VG Andreas

Leg bitte auch noch ein "pct" Reading mit dem Brightness Wert an, dann sollte es klappen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Rothammel

Hallo,

vielen Dank für deine Arbeit in den connector, eine Frage habe ich, wir haben hier zwei comet dect Thermostate, die kann ich in Google Home steuern. Allerdings wird die neue eingestellte Temperatur nicht in Google Home angezeigt.
Bedeutet ich stelle im Bad von 10°C auf 25°C um, in Fhem sehe ich eine neue desired-temp von 25.0 C, aber Google Home sagt mir weiter, ich hätte noch die 10°C eingestellt. Auch ein aktualisieren der App ändert nichts.
Hast du vielleicht eine Idee?
attr homebridgeMapping ist leer

Grüße Stan

dominik

Poste mir bitte das jsonlist2 vom Device.

Ich schaue mir das am Abend an.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Rothammel

{
  "Arg":"FBDECT_7430_11960_0814864",
  "Results": [
  {
    "Name":"FBDECT_7430_11960_0814864",
    "PossibleSets":"boost:textField closed:noArg desired-temp:slider,7.5,0.5,28.5,1 open:noArg raw:textField windowopen:textField ",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev do_not_notify:1,0 ignore:1,0 dummy:1,0 showtime:1,0 disable:0,1 disabledForIntervals event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading model:CometDECT,Dect200,HAN-FUN,Powerline546E DbLogExclude DbLogInclude DbLogValueFn:textField-long alexaName alexaProactiveEvents:1,0 alexaRoom assistantName:textField cmdIcon devStateIcon devStateIcon:textField-long devStateStyle gassistantName:textField genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,ac_unit,aircondition,airfreshener,airpurifier,awning,bathtub,bed,blender,blinds,boiler,camera,carbon_monoxide_detector,charger,closet,coffee_maker,coffeemaker,cooktop,curtain,dehumidifier,dehydrator,dishwasher,door,drawer,dryer,fan,faucet,fireplace,fryer,gate,grill,heater,hood,humidifier,kettle,remotecontrol,mop,mower,microwave,multicooker,network,oven,pergola,petfeeder,pressurecooker,radiator,refrigerator,router,scene,securitysystem,settop,sensor,shutter,shower,smoke_detector,sousvide,sprinkler,standmixer,tv,vacuum,valve,washer,waterheater,waterpurifier,watersoftener,yogurtmaker,aircooler,audio_video_receiver,freezer,speaker,streaming_box,streaming_stick,streaming_soundbar,soundbar homebridgeMapping:textField-long icon realRoom:textField sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "7430_MSGCNT": "194",
      "7430_TIME": "2020-10-17 10:40:36",
      "DEF": "7430:11960_0814864 actuator,tempSensor",
      "FUUID": "5f72e14a-f33f-e8a7-deee-8b3c53c58957b448",
      "IODev": "7430",
      "LASTInputDev": "7430",
      "MSGCNT": "194",
      "NAME": "FBDECT_7430_11960_0814864",
      "NR": "434",
      "STATE": "desired-temp: 22.5 C",
      "TYPE": "FBDECT",
      "id": "11960_0814864",
      "props": "actuator,tempSensor",
      "webCmd": "desired-temp"
    },
    "Readings": {
      "AIN": { "Value":"11960 0814864", "Time":"2020-10-17 10:40:36" },
      "FBNAME": { "Value":"Bad", "Time":"2020-10-17 10:40:36" },
      "FBPROP": { "Value":"actuator,tempSensor", "Time":"2020-10-17 10:40:36" },
      "FBTYPE": { "Value":"Comet DECT", "Time":"2020-10-17 10:40:36" },
      "ID": { "Value":"18", "Time":"2020-10-17 10:40:36" },
      "battery": { "Value":"50 %", "Time":"2020-10-17 10:40:36" },
      "batteryPercent": { "Value":"50", "Time":"2020-10-17 10:40:36" },
      "batteryState": { "Value":"ok", "Time":"2020-10-17 10:40:36" },
      "batterylow": { "Value":"0", "Time":"2020-10-17 10:40:36" },
      "boostactive": { "Value":"no", "Time":"2020-10-17 10:40:36" },
      "boostactiveendtime": { "Value":"N/A", "Time":"2020-10-17 10:40:36" },
      "day-temp": { "Value":"23.0 C", "Time":"2020-10-17 10:40:36" },
      "desired-temp": { "Value":"22.5 C", "Time":"2020-10-17 10:40:36" },
      "devicelock": { "Value":"no", "Time":"2020-10-17 10:40:36" },
      "errorcode": { "Value":"noError (0)", "Time":"2020-10-17 10:40:36" },
      "fwversion": { "Value":"03.54", "Time":"2020-10-17 10:40:36" },
      "holidayactive": { "Value":"no", "Time":"2020-10-17 10:40:36" },
      "locked": { "Value":"no", "Time":"2020-10-17 10:40:36" },
      "nextPeriodStart": { "Value":"2020-10-17 11:00:00", "Time":"2020-10-17 10:40:36" },
      "nextPeriodTemp": { "Value":"19.5 C", "Time":"2020-10-17 10:40:36" },
      "night-temp": { "Value":"19.5 C", "Time":"2020-10-17 10:40:36" },
      "present": { "Value":"yes", "Time":"2020-10-17 10:40:36" },
      "state": { "Value":"desired-temp: 22.5 C", "Time":"2020-10-17 10:40:36" },
      "summeractive": { "Value":"no", "Time":"2020-10-17 10:40:36" },
      "tempadjust": { "Value":"0.0 C", "Time":"2020-10-17 10:40:36" },
      "temperature": { "Value":"23.0 C (measured)", "Time":"2020-10-17 10:40:36" },
      "windowopenactiv": { "Value":"no", "Time":"2020-10-17 10:40:36" },
      "windowopenactiveendtime": { "Value":"N/A", "Time":"2020-10-17 10:40:36" }
    },
    "Attributes": {
      "DbLogInclude": "temperature",
      "IODev": "7430",
      "gassistantName": "Bad",
      "room": "GoogleAssistant,Thermostate"
    }
  }  ],
  "totalResultsReturned":1
}

a_quadrat

Zitat von: dominik am 16 Oktober 2020, 19:53:21
Leg bitte auch noch ein "pct" Reading mit dem Brightness Wert an, dann sollte es klappen.

Der Brightnesswert wird jetzt in der App angezeigt, aber der Status der Lampe bleibt auf "Aus".

kriegerkl

Ich bin es noch einmal.

Ich bin begeistert von Deinem gassistant_Modul.
Ich habe jetzt viele Geräte, besonders meine Temperatur- und Feuchte-Sensoren integriert.
Es gibt noch ein paar kleine Schönheitfehler, die ich hier einmal auflisten möchte.
Vielleicht kannst Du ja an dem ein oder anderen etwas machen:
1) Wenn ich meine LaCross-Devices, das 1-wire-Device und die Wetterstation  (WS3600) als genericDeviceType thermostat anlege, lässt sich
  a) Die Temperatur sehr gut abfragen mit: "Wie ist die Temeratur im Wohnzimmer". Die Antwort von Google ist dann: "Das Wohnzimmer ist ausgeschaltet bei einer aktuellen Temperatur von 24 Grad". Hier wäre noch schön, wenn Google den Teilsatz "Das Wohnzimmer ist ausgeschaltet" weglassen würde.
  b) Die Luftfeuchte sehr gut abfragen mit: "Wie ist die Luftfeuchte im Wohnzimmer". Die Antwort ist: "Das Wohnzimmer zeigt 51% Luftfeuchte an".
  c) Es funktioniert sogar die Abfrage "Wie ist die Luffeuchte meiner Geräte". Dann gibt Google die Luftfeuchte aller vorhandenen Geräte hintereinander an. Leider funktioniert das nicht mit der Anfrage "Wie ist die Temperatur meiner Geräte." Hier barucht Google ca. 10 Sekunden, um dann zu antworten: "Entschuldigung, da ist leider ein Fehler aufgetreten. Leider kann ich dein Smartphone nicht steuern"

2) Die Devices werden in der Home-App als Thermostate mit der richtigen Temperatur angezeigt. Nur wenn die Temperatur unter 10 Grad ist, wird leider immer 10 angezeigt, obwohl bei der Abfrage des Thermostats die richtige Temperatur wiedergegeben wird.

3) Bei dem Thema Radio und channels hattest Du ja einen call bei Google aufgemacht.
Hier wäre es noch schön, wenn man einfach den Sender über eine Zahl angeben könnte.
Wann man sagt: "Schalte das Radio auf Kanal 1" bekommt man die Antwort "Klar 1 wird auf dem Gerät Radio abgespielt".
Das Log-File zeigt folgendes:
[2020-10-17 15:25:36] [LOCAL] LOCALHOME received: {"inputs":[{"context":{"locale_country":"DE","locale_language":"de"},"intent":"action.devices.EXECUTE","payload":{"commands":[{"devices":[{"customData":{"device":"WZ_Radio"},"id":"WZ_Radio"}],"execution":[{"command":"action.devices.commands.selectChannel","params":{"channelNumber":"1"}}]}],"structureData":{}}}],"requestId":"4093944161181293386"}
mapping: {"availableChannels":[{"key":"Fünf","names":["Fünf","Sender 5","Deutschlandfunk"]},{"key":"Vierzehn","names":["Vierzehn","Sender 14","Gong"]},{"key":"Vierzehn","names":["Vierzehn"]},{"key":"Deutsche Welle","names":["Deutsche Welle"]},{"key":"Phoenix","names":["Phoenix"]}],"cmds":["Fünf:channel 5","Vierzehn:channel 14","Vierzehn:channel 14","Deutsche Welle:channel 7","Phoenix:channel 6"],"characteristic_type":"Channel","device":"WZ_Radio","homekit2cmd":{"Fünf":"channel 5","Vierzehn":"channel 14","Deutsche Welle":"channel 7","Phoenix":"channel 6"},"homekit2cmd_re":[]}
WZ_Radio: executing set cmd for Channel with value
EXECUTE: "set WZ_Radio ","http://127.0.0.1:8083/fhem"
[2020-10-17 15:25:36] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20WZ_Radio%20&fwcsrf=csrf_695747215118969&XHR=1
response: {"requestId":"4093944161181293386","payload":{"commands":[{"states":{"channelNumber":"1"},"status":"success","ids":["WZ_Radio"]}]}}

Man sieht, dass in FHEM folgender Befehlt ausgeführt wird: "EXECUTE: "set WZ_Radio ","http://127.0.0.1:8083/fhem"
Hier scheint nur am Ende die Sender oder Kanalangabe zu fehlen. Kannst Du da etwas machen?

Ich habe noch eine kleine Anregung:
Ich verstehe nicht ganz die Beschreibung der homebridgeMapping-Beispiele im Wiki und den Zusammenhang mit den Traits.
Ich habe z.B.herausgefunden, dass ich das homebridge-Mapping für die Wetterstation folgendermaßen setzen muss:
attr Wetterstation homebridgeMapping {\
  "CurrentTemperature": {\
    "reading": "Temp-outside"\
  },\
  "CurrentRelativeHumidity": {\
    "reading": "rel-Humidity-outside"\
  }\
}


In Deiner Beschreibung unter TemperatureConrol steht jedoch folgendes für die Temperatur:
{
   "TemperatureControlAmbientCelsius": {"reading": "currentTemperature"}
}

Es wäre super, wenn es mehr Beispiele gäbe, welche homebridge-Mappings verwendet werden können und auch die, die Du bei den verschiedenen Geräten automatisch setzt.
Ich habe mir auch in bisschen den Code clientapi.js und handleQUERY.js angeschaut, werde aber nur teilweise schlau daraus.
Es wäre super, wenn es hier eine kleine Anleitung bzw. Doku geben würde.

Danke auf jeden Fall für das super-Modul.
Ich werde weitere Sachen ausprobieren.

lucca111

@dominik

Ich habe ein komische Verhalten seit heute mit der Harmony Fernbedienung beim Activity wechsel.

   Befehl:                                    Antwort:                             Aktion:
Schalte Netflix ein --> Ok ich schalte Netflix ein --> Es wird auf Netflix umgeschaltet
Schalte Fernsehen ein --> Ok ich schalte Netflix ein --> Activity Netflix  bleibt bestehen

Ich schalte per Hand auf Fernsehen:

Schalte Amazon Prime ein --> Ok ich schalte Amazon Prime ein --> Es wird auf Amazon Prime umgeschaltet
Schalte Fernsehen ein --> Ok ich schalte Amazon Prime ein --> Activity Amazon Prime bleibt bestehen

Vor 3 Tagen war die Welt noch I.O.
Vielleicht hängt das mit der Channel Erkennung zusammen wo ja eine Anfrage bei google läuft??

Gruß Lucca


ReneH87

Ich hab vorhin unsere Miele Geräte mit dem Modul Miele@Home in Betrieb genommen und wollte fragen, ob es möglich ist, aktuellen Zustand bzw. Restlaufzeit ausgeben zu lassen?

Relevante Readings wären:

  • remainingTime (Format: h:mm)
  • programPhase (Format: String, bspw. "Waschen")
  • status (Format: String, "In Betrieb"|"Aus"|"Ende")

Ansonsten gibt es noch folgende set-Commands (nicht vollständig, aber nicht jedes Gerät unterstützt alle und auch nicht zu jedem Zeitpunkt)

  • on
  • off
  • pause
  • start
  • stop

Wäre cool ;D wenn ich das richtig verstanden habe, müsste Google das über den trait "RunCylce" schon unterstützen?