39_gassistant.pm (Google Assistant, Google Home)

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

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo Reinhard,

kurze Antwort, da ich im Moment (und auch die nächsten Tage) keine Zeit zum ausführlichen Testen hab.
Der Error im Google Assistant-Device ist weg, und ein "stelle Rollladen ... auf 90%" wird wohlwollend aufgenommen.

Das sieht schon mal gut aus.
Ich werde weitermachen, sobald ich wieder Zeit habe.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Gisbert

Hallo Reinhard,
hallo Andreas,

der Befehl "stelle Rollladen ... auf 90%" funktioniert jetzt. Mit dem Attribut eventMap kann ich darauf reagieren und den Befehl zu meinem Rollladen senden. Wegen "invert": true muss dann auf position 90 reagiert werden. Das war leicht umsetzbar.

Ich hätte noch folgende Fragen.
Gibt es einen Stop-Befehl? Wenn ja, dann könnte ich den auch gut gebrauchen.
Was bedeuten die Einträge reading und values bei "OpenCloses"? Mein Rollladen kennt diese Werte von Haus gar nicht.
Müssen die Attribute setList und readingList zwingend definiert werden?

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Reinhard.M

"reading" ist der Name des  Status Reading deines Devices, "values" ist eine Umsetzung dieser Reading Werte auf die zugehörigen Google Home "state" Werte. Meine Interpretation aus anderen Settings. Allerdings habe ich bislang weder bei Rollos noch bei Jalousien in Google Home gesehen das es funktioniert. Da wird der State schlicht nicht angezeigt.

Gruß Reinhard

centauri

Hallo

Bitte die Unvollständigkeit der folgenden Frage zu entschuldigen, reiche weitere Informationen gerne nach. Bin in diesem Bereich leider noch neu.

Betroffenes Produkt: FRITZ!DECT200 - Schaltsteckdose mit Thermostat
eingebunden in FHEM über FBAHAHTTP / FBDECT und dann in GoogleAssistant

Verhalten in FHEM: Kann geschalten werden, zeigt Schaltstatus, Zeigt Temperatur, zeigt Stromverbrauch
Verhalten in google home: Wird nur als Thermostat aufgeführt und kann nicht geschalten werden.
Die Erstellung erfolgte automatisch


Readings
AIN ***
FBNAME Waschmaschine links
FBPROP microphone,switch,powerMeter,tempSensor,switch
FBTYPE FRITZ!DECT 200
ID 17
IODev fritzbox
devicelock no
energy 327372 Wh
fwversion 04.16
locked no
mode auto
power 0.00 W
present yes
state off
tempadjust 0.0 C
temperature 15.5 C (measured)
voltage 233.165 V


Schönen Gruß und Dank im voraus

Reinhard.M

Hallo centauri,
setz mal das Attribut "genericDeviceType" auf "switch". Anschließend synchronisieren. Gerade getestet, dann kannst du auf alle Fälle schalten. Wenn du mehr ausprobieren möchtest lies folgende Doku:
https://wiki.fhem.de/wiki/Google_Assistant_FHEM_Connect

Gruß Reinhard

centauri

Danke Reinhard

Das funktioniert als switch soweit jetzt in google home. Merci

Leider kenne ich mich nicht tiefergehen aus um die Fritz!DECT200 Steckdose mit allen Funktionen nach der Doku einzubinden.
Ich hab jetzt eine Steckdose als Switch definiert und die andere für Tests / Updates zunächst im Ursprungszustand belassen. Wenn ich hier also etwas testen soll für Personen mit besseren Kenntnissen wie ich kann ich das gerne machen.


Das Modul an sich ist übrigens Klasse, der Rest wurde alles problemlos erkannt.


Schönen Gruß
centauri

elmartino

Hallo,
ich glaube, ich bin auch von der (eigentlich guten) Verbesserung im HMCCUDEV (HomeMatic, CCU via RPiHat) vor ein paar Wochen betroffen... Die meisten Devices (HM-TC-IT-WM-W-EU, HmIP-eTRV-B) funktionieren in der Google Home App. Nur der 'Klassiker' leider nicht - HM-CC-RT-DN (Thermostat).
Natürlich habe ich die HomeBridge Settings von hier probiert (https://wiki.fhem.de/wiki/Google_Assistant_FHEM_Connect - TemperatureSetting), hat aber nicht weitergeholfen. In der Google Home App wird immer 'Andere' als Modus angezeigt, die Temperatur lässt sich nicht einstellen, nur lesen.

Hier das json-file (ohne die Experimente....):




{
  "Arg":"Arbeitszimmer",
  "Results": [
  {
    "Name":"Arbeitszimmer",
    "PossibleSets":"clear defaults:reset,update,old,forceReset readingFilter:multiple-strict,0.AES_KEY,0.CONFIG_PENDING,0.DEVICE_IN_BOOTLOADER,0.INHIBIT,0.LOWBAT,0.RSSI_DEVICE,0.RSSI_PEER,0.STICKY_UNREACH,0.UNREACH,0.UPDATE_PENDING,4.ACTUAL_TEMPERATURE,4.BATTERY_STATE,4.BOOST_STATE,4.CONTROL_MODE,4.FAULT_REPORTING,4.PARTY_START_DAY,4.PARTY_START_MONTH,4.PARTY_START_TIME,4.PARTY_START_YEAR,4.PARTY_STOP_DAY,4.PARTY_STOP_MONTH,4.PARTY_STOP_TIME,4.PARTY_STOP_YEAR,4.PARTY_TEMPERATURE,4.SET_TEMPERATURE,4.VALVE_STATE config datapoint auto:noArg manu off:noArg on:noArg desired-temp boost:noArg toggle:noArg",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5  IODev ccuaggregate:textField-long ccucalculate:textField-long ccuflags:multiple-strict,ackState,logCommand,noReadings,trace,showMasterReadings,showLinkReadings,showDeviceReadings,showServiceReadings ccureadingfilter:textField-long ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname:textField-long ccuSetOnChange ccuReadingPrefix ccuget:State,Value ccuscaleval ccuverify:0,1,2 disable:0,1 hmstatevals:textField-long statevals substexcl substitute:textField-long statechannel controlchannel stripnumber peer:textField-long traceFilter event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading statedatapoint:select,4.ACTUAL_TEMPERATURE controldatapoint:select,4.SET_TEMPERATURE assistantName:textField cmdIcon devStateIcon:textField-long devStateStyle gassistantName:textField genericDeviceType:aircondition,coffeemaker,ac_unit,aircooler,airfreshener,airpurifier,audio_video_receiver,awning,bathtub,bed,blender,blinds,boiler,camera,carbon_monoxide_detector,charger,closet,coffee_maker,cooktop,curtain,dehumidifier,dehydrator,dishwasher,door,drawer,dryer,fan,faucet,fireplace,freezer,fryer,garage,gate,grill,heater,hood,humidifier,kettle,light,lock,remotecontrol,mop,mower,microwave,multicooker,network,outlet,oven,pergola,petfeeder,pressurecooker,radiator,refrigerator,router,scene,sensor,securitysystem,settop,shutter,shower,smoke_detector,sousvide,speaker,streaming_box,streaming_stick,streaming_soundbar,soundbar,sprinkler,standmixer,switch,tv,thermostat,vacuum,valve,washer,waterheater,waterpurifier,watersoftener,window,yogurtmaker homebridgeMapping:textField-long icon realRoom:textField sortby webCmd webCmdLabel:textField-long widgetOverride",
    "Internals": {
      "IODev": "HomeMatic",
      "NAME": "Arbeitszimmer",
      "NR": "37",
      "STATE": "21.2",
      "TYPE": "HMCCUDEV",
      "ccudevstate": "active",
      "ccuif": "BidCos-RF",
      "ccuname": "Arbeitszimmer",
      "ccurolectrl": "CLIMATECONTROL_RT_TRANSCEIVER",
      "ccurolestate": "CLIMATECONTROL_RT_TRANSCEIVER",
      "ccusubtype": "HM-CC-RT-DN",
      "ccutype": "HM-CC-RT-DN",
      "firmware": "1.5",
      "readonly": "no"
    },
    "Readings": {
      "0.AES_KEY": { "Value":"0", "Time":"2021-10-26 17:40:46" },
      "0.CONFIG_PENDING": { "Value":"false", "Time":"2021-10-26 17:40:46" },
      "0.DEVICE_IN_BOOTLOADER": { "Value":"false", "Time":"2021-10-26 17:40:46" },
      "0.INHIBIT": { "Value":"false", "Time":"2021-10-26 17:40:46" },
      "0.LOWBAT": { "Value":"false", "Time":"2021-10-26 17:40:46" },
      "0.RSSI_DEVICE": { "Value":"1", "Time":"2021-10-26 17:40:46" },
      "0.RSSI_PEER": { "Value":"1", "Time":"2021-10-26 17:40:46" },
      "0.STICKY_UNREACH": { "Value":"false", "Time":"2021-10-26 17:40:46" },
      "0.UNREACH": { "Value":"false", "Time":"2021-10-26 17:40:46" },
      "0.UPDATE_PENDING": { "Value":"false", "Time":"2021-10-26 17:40:46" },
      "4.ACTUAL_TEMPERATURE": { "Value":"21.2", "Time":"2021-12-14 16:20:24" },
      "4.BATTERY_STATE": { "Value":"2.5", "Time":"2021-12-14 16:20:24" },
      "4.BOOST_STATE": { "Value":"0", "Time":"2021-12-14 16:20:24" },
      "4.CONTROL_MODE": { "Value":"AUTO-MODE", "Time":"2021-12-14 16:20:24" },
      "4.FAULT_REPORTING": { "Value":"NO_FAULT", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_START_DAY": { "Value":"1", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_START_MONTH": { "Value":"1", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_START_TIME": { "Value":"0", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_START_YEAR": { "Value":"0", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_STOP_DAY": { "Value":"1", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_STOP_MONTH": { "Value":"1", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_STOP_TIME": { "Value":"0", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_STOP_YEAR": { "Value":"0", "Time":"2021-12-14 16:20:24" },
      "4.PARTY_TEMPERATURE": { "Value":"5.0", "Time":"2021-12-14 16:20:24" },
      "4.SET_TEMPERATURE": { "Value":"20.0", "Time":"2021-12-14 16:20:24" },
      "4.VALVE_STATE": { "Value":"23", "Time":"2021-12-14 16:20:24" },
      "IODev": { "Value":"HomeMatic", "Time":"2021-12-09 16:10:43" },
      "activity": { "Value":"alive", "Time":"2021-12-14 16:20:24" },
      "battery": { "Value":"ok", "Time":"2021-12-14 16:20:24" },
      "control": { "Value":"20.0", "Time":"2021-12-14 16:20:24" },
      "desired-temp": { "Value":"20.0", "Time":"2021-12-14 16:20:24" },
      "devstate": { "Value":"ok", "Time":"2021-12-14 16:20:24" },
      "hmstate": { "Value":"21.2", "Time":"2021-12-14 16:20:24" },
      "measured-temp": { "Value":"21.2", "Time":"2021-12-14 16:20:24" },
      "rssidevice": { "Value":"-255", "Time":"2021-12-14 16:20:24" },
      "rssipeer": { "Value":"-69", "Time":"2021-12-14 16:20:24" },
      "sign": { "Value":"off", "Time":"2021-12-14 16:20:24" },
      "state": { "Value":"21.2", "Time":"2021-12-14 16:20:24" }
    },
    "Attributes": {
      "room": "Arbeitszimmer,GoogleAssistant",
      "widgetOverride": "desired-temp:slider,4.5,0.5,30.5,1"
    }
  }  ],
  "totalResultsReturned":1
}



Ansonsten klappt alles prima - danke für das tolle Modul :-)
Martin

Reinhard.M

Hallo elmartino,
hast du schon mal versucht den "genericDeviceType" auf "thermostat" zu stellen? Laut deinen Attributes jedenfalls nicht.

Gruß Reinhard

elmartino

Hilft leider auch nicht, hatte ich schon probiert aber danach alle Tests wieder gelöscht...
Danke!

tplus

Ich komme noch einmal auf das "2 Standorte"-Problem zurück.

Nach vielen Probieren habe ich keinen Weg gefunden die beiden Standorte ohne gegenseitige negativen Auswirkungen unter einem Google-Account zu betreiben. Auch zwei verschiedene Accounts beim FHEM Connect Server haben nicht geholfen.

Gibt es keine Lösung?

Patrix2911

Hallo. Vielleicht kann mir ja hier jemand helfen, seit einigen Tagen kann ich ein Gerät das mit Tasmota geflasht und in FHEM eingebunden ist, nicht mehr über den GAssistant Sprachgesteuert ein und ausschalten lassen. Im GAssistang finde ich dann folgenden Fehler: Command action.devices.commands.StartStop not configured for device Waschmaschine

Ich kann mich nicht erinnern irgendwas am Gerät oder sonst wo an FHEM geändert zu haben. Ich habe das Geräte schon mal aus dem Raum GoogleAssistent entfernt und wieder hinzugefügt, leider ohne Ergebnis.

Vorab vielen Dank für eure Hilfe und noch eine schöne Restweihnachtszeit.

Carsten K.

Zitat von: tplus am 15 Dezember 2021, 12:51:46
Ich komme noch einmal auf das "2 Standorte"-Problem zurück.

Nach vielen Probieren habe ich keinen Weg gefunden die beiden Standorte ohne gegenseitige negativen Auswirkungen unter einem Google-Account zu betreiben. Auch zwei verschiedene Accounts beim FHEM Connect Server haben nicht geholfen.

Gibt es keine Lösung?
Ich teile wohl das gleiche Schicksal  :-\
Ohne Details der Programmierung zu kennen sehe ich keinen Konfigurationsparameter, der sich auf den Google-Home Standort bezieht.
Da kann Google nicht wirklich wissen, wo die Geräte hingehören.
Ist vielleicht Magie im Spiel  :o

Auf jeden Fall würde ich mich freuen, wenn es unterstützt werden könnte.
Ansonsten natürlich eine tolle Sache, die hier gebaut wurde.

Grüße,
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

edition

Guten Tag

Vermutlich befindet sich die Antwort auf meine Frage irgendwo auf den 189 Seiten dieses Beitrags, oder das was ich vorhabe, ist nicht umsetzbar.
Damit ich das nach 189 Seiten nicht feststelle, frage jetzt einfach mal.

Ich möchte gerne einen dummy auf genau den "state" stellen, den ich ansage. Also z.b. "Ok Google, (stelle den dummy) Fernbedienung (auf) RTL" Dann soll im state des Dummys Fernbedienung RTL stehen. Das will ich nutzen um mittels DOIF dann den Sat Receiver auf den Sender RTL zu stellen. "OK Google Fernbedienung Feierabend" soll ein anderes DOIF auslösen, was Fernseher, SAT Receiver und Licht im Wohnzimmer ausschaltet und Licht im Flur einschaltet, etc.
Ich bekomme den dummy aber immer nur auf on bzw. off. Ich habe schon mit verschiedenen Kombinationen aus genericDeviceType, eventMap und setList rumprobiert, aber bin nicht ans Ziel gekommen.
Ich habe dazu einen Artikel gefunden https://waschto.eu/2017/11/01/mehrere-devices-zu-einer-szene-zusammenfassen/ der das so macht. Allerdings immer noch mit "an" und "aus".
Hat jemand einen Tipp? Vielleicht auf welcher Seite, oder in welcher Antwort dieses Beitrags etwas ähnliches behandelt wird? Oder ist es am Ende nicht möglich, aus welchen Gründen auch immer?

MfG
edition

SouzA

Moin,

https://wiki.fhem.de/wiki/Google_Assistant_FHEM_Connect

Channel

{
  "SimpleChannel": {
"ORF 1": "0_macro tv,1,enter",
"ORF 2,ORF zwei,ORF2": "0_macro tv,4,6,0,enter",
"ServusTV,Servus TV": "0_macro tv,5,enter"
  }
}
oder wenn man es umfangreicher konfigurieren will
{
"Channel": {
  "availableChannels": [
    {
      "key": "ORF1",
      "names": [
        "ORF 1",
        "ORF eins",
        "ORF"
      ],
      "number": "1"
    },
    {
      "key": "ORF2",
      "names": [
        "ORF 2",
        "ORF zwei"
      ],
      "number": "2"
    }
  ],
  "cmds": ["ORF1:channel 1", "ORF2:channel 2"]
}
Relativer Kanalwechsel
{
"ChannelRelativeChannel": {
  "params": {
    "relativeChannelChange": {
      "cmdUp": "channelUp",
      "cmdDown": "channelDown"
    }
  }
}
Letzte Kanal
{
"ChannelReturnChannel": {
  "cmd":"lastChannel"
}
}
SamsungAV wird automatisch erkannt, zumindest SimpleChannel muss selbst hinterlegt werden, da die Kanalnamen im SamsungAV Modul nicht vorliegen. Erlaubt das Umschalten auf vordefinierte TV Kanäle. Google empfiehlt nicht mehr als 30 Kanäle zu konfigurieren!

Schalte den Fernseher auf ORF 1.

https://developers.google.com/assistant/smarthome/traits/channel


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

edition

Ich hatte schon befürchtet, dass es mit homebridgeMapping geht. Leider kenne ich mich damit überhaupt nicht aus. Da brauche ich ein wenig Nachhilfe.
Ich nehme an, dass das für 3 Sender steht:{
  "SimpleChannel": {
"ORF 1": "0_macro tv,1,enter",
"ORF 2,ORF zwei,ORF2": "0_macro tv,4,6,0,enter",
"ServusTV,Servus TV": "0_macro tv,5,enter"
  }


"ORF 1" ist das was gesagt wird und "0_macro tv,1,enter" schaltet dan um? "SimpleChannel" ist der Name des dummy?