39_gassistant.pm (Google Assistant, Google Home)

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

Vorheriges Thema - Nächstes Thema

dominik

Das klingt ja fast so, als ob Google nur bestimmte Channel Namen versteht?

ZitatEs wäre für mich sehr hilfreich zu verstehen, wie das homebridgeMapping und genericDeviceType und dummies zusammen funktionieren.
Anscheinend funktioniert das homebridgeMapping mit SimpleChannel ja nur bei einem  genericDeviceType  TV und was bewirken die Attribute readingList und setList in diesem Zusammenhang? Kann ich das irgendwo nachlesen?

homebridgeMapping => Trait
genericDeviceType => Type

Type...Darstellung in der Home App und ansprechen mit dem Typen (mach alle Rollos rauf, etc.)
Trait...Funktionalitaet. JEDER Type kann JEDE Funktionalitaet haben. Es kann also auch eine Type=light Channels haben. Das ist bei Google beliebig kombinierbar.

Mit readingList und setList hat es nix zu tun, readingList und setList wird nur innerhalb von FHEM Connect verwendet um Devices zu erkennen und richtig zuzuordnen. Intern generiert FHEM Connect dann die homebridgeMappings. Wenn du selbst ein homebridgeMapping definierst, ist readingList und setList egal.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

R1k4rd

Hey zusammen,

vllt habe ich es überlesen, aber worin besteht der Unterschied zwischen "SimpleChannel" und "SimpleModes"?
Bei mir sieht das ganze momentan so aus:
{
   "On": {
     "reading":"state",
     "valueOff":"off",
     "device":"fernseherRichard",
     "cmdOn":"on",
     "cmdOff":"off"
   },
   "SimpleModes": {
     "reading":"state",
     "name":"sender",
     "ARD":"0_macro 1,enter",
"ZDF":"0_macro 2,enter",
"RTL":"0_macro 3,enter",
     "SAT 1,SAT eins,SAT1":"0_macro 4,enter",
"PRO 7,PRO sieben,PRO7":"0_macro 5,enter",
"VOX":"0_macro 6,enter",
"RTL 2,RTL zwei,RTL2":"0_macro 7,enter",
"KABEL 1,KABEL eins,KABEL1":"0_macro 8,enter",
     "NTV, ENTV, N TV":"0_macro 9,enter"
   }


An sich hatte es bis vor 1/2 Monaten alles ohne Probleme funktioniert, ich dachte erst es würde an meinem System liegen aber dies scheint doch nicht der Fall zu sein? Oder funktioniert es bei den Nutzern die Simple Modes verwenden? Die Antwort von Google unterscheidet sich bei mir allerdings, es wird nicht gesagt das ein Fehler aufgetreten sei, sondern es werden Google Ergebnisse aus dem Internet für einen Sender angesagt..

dominik

#2297
Unterschied SimpleChannel und SimpleMode:
Mode ist für Modes (z.B. Geschirrspüler Programm) - https://developers.google.com/assistant/smarthome/traits/modes
Channel ist für Kanäle (z.B. Kanäle am Fernseher, Radio, etc) - https://developers.google.com/assistant/smarthome/traits/channel

Channel hat es erst spaeter gegeben, daher haben wir hier Modes als Ersatz verwendet. Funktionieren sollte beides, kann natuerlich sein, dass Google bei ein paar Phrases das anders handhabt.

//Edit
Beim Saugroboter bei mir funktionieren die Modes weiterhin ohne Probleme. Ich habe aber am TV aktuell auch keine Probleme mit den Channels, die wurden jedoch schon vor einigen Wochen synchronisiert.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

R1k4rd

Danke für die Links, das macht natürlich Sinn.
Ich habe jetzt extra nochmal mit beidem rum gespielt, es zeigt sich bei mir allerdings das SimpleModes nicht mehr zu funktionieren scheint.
Zum Vergleich:
{
   "On": {
     "reading":"state",
     "valueOff":"off",
     "device":"fernseherRichard",
     "cmdOn":"on",
     "cmdOff":"off"
   },
   "SimpleModes": {
     "reading":"state",
     "name":"sender",
     "ARD":"0_macro 1,enter",
     "ZDF":"0_macro 2,enter",
     "RTL":"0_macro 3,enter",
     "SAT 1,SAT eins,SAT1":"0_macro 4,enter",
     "PRO 7,PRO sieben,PRO7":"0_macro 5,enter",
     "VOX":"0_macro 6,enter",
     "RTL 2,RTL zwei,RTL2":"0_macro 7,enter",
     "KABEL 1,KABEL eins,KABEL1":"0_macro 8,enter",
     "NTV,MTV,ENTV":"0_macro 9,enter"
   }
}

Hatte ich lange Zeit verwendet, geht jetzt leider nicht mehr. Es kommt bei mir immer die Antwort die Wiedergabe sei nur auf Chromecast oder anderen spezielen Geräte verfügbar.

{
   "On": {
     "reading":"state",
     "valueOff":"off",
     "device":"fernseherRichard",
     "cmdOn":"on",
     "cmdOff":"off"
   },
   "SimpleChannel": {
     "ARD":"0_macro 1,enter",
     "ZDF":"0_macro 2,enter",
     "RTL":"0_macro 3,enter",
     "SAT 1,SAT eins,SAT1":"0_macro 4,enter",
     "PRO 7,PRO sieben,PRO7":"0_macro 5,enter",
     "VOX":"0_macro 6,enter",
     "RTL 2,RTL zwei,RTL2":"0_macro 7,enter",
     "KABEL 1,KABEL eins,KABEL1":"0_macro 8,enter",
     "NTV,MTV,ENTV":"0_macro 9,enter"
   }
}

Funktioniert bei mir jetzt ohne Probleme, es scheint (zumindest aus subjektiver Wahrnehmung) auch deutlich schneller zu gehen als damals mit SimpleModes. Negativ ist ausschließlich das die Antwort deutlich länger ist als bei SimpleModes: "Sender XYZ wird auf dem Gerät Fernseher abgespielt".

Probleme hatte ich mit beiden homebridgeMappings beim Ein/Ausschalten des Samsung TVs, da das Einschalten nur über das WOL Modul funktioniert habe ich ein Dummy zum ein/ausschalten, welches im homebridgeMapping definiert ist wie oben zu sehen. Eigentlich hattest du das damals so weiter entwickelt das es nicht mehr nötig ist dieses Dummy Device in den Google Raum in Fhem mit auf zu nehmen, das hatte damals zumindest funktioniert, das weiß ich noch. Jetzt war es bei mir allerdings wieder so das ich das Gerät mit in den Raum packen musste damit das ein/ausschalten geht? Hattest du da nochmal etwas verändert bzw. wieder entfernt? - ansonsten würde ich mir das auch nochmal genauer anschauen ;D

kriegerkl

#2299
Ich habe noch einmal auf verschiedenen Wegen versucht das dummy-Radio mit verschiedenen Sendern hinzubekommen.

Benennt man einen Sender mit "Phoenix" und gibt den Befehl: "Ok Google, schalte das Radio auf Phoenix" funktioniert das ganze.
Bennent man einen Sender mit "Deutschlandfunk" und gibt den Befehl: "Ok Google, schalte das Radio auf Deutschlandfunk", gibt Google zurück: "Wenn Du nach einem Video fragst, sag mir auf welchem Bildschirm Du es ansehen möchtest".
Benennt man einen Sender mit "Gong" und gibt den Befehl: "Ok Google, schalte das Radio auf Gong", gibt Google zurück: "Ich habe Radio Gong abspielen verstanden, stimmt das".

Es kommt also wirklich auf die Benennung des Senders an.
Kann man das Google als Fehler melden und wenn ja, wie?

Und noch eine Sache:
Ich würde gerne auch die Programme über Zahlen ansteuern.
Z.B. über "Ok Google, Schalte das Radio auf Programm 2".
Google antwortet dann: "Klar 2 wird auf dem Gerät Radio abgespielt"
Dabei sendet Google folgende Messages zurück:
[2020-10-7 17:41:30] GOOGLE MSG RECEIVED: {"ts":......,"cmd":"set WZ_Radio ","msg":"EXECUTE","id":0,"connection":"http://127.0.0.1:8083/fhem"}
[2020-10-7 17:41:30] Received firestore2fhem: {"ts":.......,"cmd":"set WZ_Radio ","msg":"EXECUTE","id":0,"connection":"http://127.0.0.1:8083/fhem"}
D.h. die Zahl wird nicht zurückgesendet.


Noch zur Info:
Die Anlage des Radio-Dummies in FHEM erfolgt folgendermaßen:
define WZ_Radio dummy
attr WZ_Radio alias Radio
attr WZ_Radio genericDeviceType tv
attr WZ_Radio homebridgeMapping {\
  "On": {\
    "reading":"state",\
    "valueOff":"off",\
    "device":"WZ_Radio",\
    "cmdOn":"on",\
    "cmdOff":"off"\
  },\
  "Channel": {\
  "availableChannels": [\
    {\
      "key": "DLF",\
      "names": [\
        "Deutsche Welle",\
        "Deutschlandfunk"\
      ],\
      "number": "5"\
    },\
    {\
      "key": "PHOENIX",\
      "names": [\
        "Phoenix",\
        "Gong"\
      ],\
      "number": "14"\
    }\
  ],\
  "cmds": ["DLF:channel 5", "PHOENIX:channel 14"]\
}\
}
attr WZ_Radio room GoogleAssistant

dominik

Hi,

ich habe nun auch Probleme mit meinen Modes (eigentlich Sender Presets auf einer BOSE Box). Per Sprache habe ich keinen Weg gefunden diese zu steuern, mit dem NestHubMax, wo ich die Liste der Modes sehe, kann ich problemlos umschalten.

Ich habe die Bugmeldung bei Google dahingehend ergaenzt und hoffe, dass die daran arbeiten.

@Richard, ich weiss es ehrlich gesagt auch nicht mehr, ob das Device nun im Raum bleiben muss oder nicht, aber ich glaube schon. Wenn du es testest, lass es mich bitte wissen. Danke :)
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

@kriegerkl, kannst du bitte probieren ob es auf Englisch funktioniert? Google fragt diesbezueglich gerade nach. Danke!
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

kriegerkl

Ich habe das jetzt auf Englisch probiert.

Hier funktioniert nur "OK Google, Turn the Radio on Deutsche Welle" und "Turn the Radio off".
Bei allen anderen d.h. Deutschlandfunk, Gong und auch Phoenix sagt Google: "Entschuldigung ich habe Dich nicht verstanden.

Ergebnis ist also ähnlich.

R1k4rd

Zitat@Richard, ich weiss es ehrlich gesagt auch nicht mehr, ob das Device nun im Raum bleiben muss oder nicht, aber ich glaube schon. Wenn du es testest, lass es mich bitte wissen. Danke :)

Also es funktioniert doch auch ohne das Dummy Gerät welches man im homebridgeMapping verwendet ;D Was mir allerdings aufgefallen ist: Wenn ich restarte um alle Änderungen usw. sauber zu übernehmen und anschließend das Erste mal den Fernseher über die App einschalten möchte, kann er den Zustand also ob der Fernseher on/off ist nicht ermitteln. (Wechseln in der Home App zwischen "Verbinden..." und "Reagiert nicht!"). Anschließend erhalte ich als gassistant-fhem Error "fernseher:TypeError: Cannot read property 'readings' of undefined". Sobald ich in der App dann einfach trotz der Fehler einfach auf einschalten drücke geht alles und wird dann auch richtig in der App dargestellt, wenn ich den ersten Befehl nach einem restart per Sprache gebe bekomme ich aktuell keinen Fehler. - Wäre es sinnvoll/möglich einen default Zustand (off) immer mit zu übergeben oder lässt sich das anders beheben?

Um nochmal auf SimpleChannel zurück zu kommen, habe heute folgendes probiert:
"Youtube":"0_App_start YouTube",
"Netflix":"0_App_start Netflix"

funktioniert leider nicht wie mit den Sendernamen bei mir, es scheint von Google her also tatsächlich irgendwie gefiltert zu werden bei manchen Worten/Namen. Eine Änderung zu z.B.
"Das Erste":"0_App_start YouTube"
funktioniert dagegen ohne Probleme :P

Wenn du mal Zeit und Lust hast wäre ich sehr dankbar wenn du noch folgende Geräte aufnehmen könntest ;D

Thermostat:
{
  "Arg":"heater",
  "Results": [
  {
    "Name":"heater",
    "PossibleSets":"Boost:noArg Auto:noArg Manual:noArg Holiday:noArg off:noArg on:noArg clear config defaults:noArg control datapoint rpcparameter devstate toggle:noArg pct up down attrTemplate:?,speechcontrol_general_naming_master_template,speech_recognition_general_naming_master_template",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev ccuaggregate:textField-long ccucalculate:textField-long ccuflags:multiple-strict,ackState,logCommand,nochn0,trace ccureadingfilter:textField-long ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname:textField-long ccureadings:0,1 ccuget:State,Value ccuscaleval ccuSetOnChange ccuverify:0,1,2 disable:0,1 hmstatevals:textField-long statevals substexcl substitute:textField-long statechannel statedatapoint controldatapoint stripnumber peer:textField-long event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading assistantName:textField cmdIcon 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,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": {
      "DEF": "XXXX defaults",
      "FUUID": "XXXX",
      "IODev": "rpc",
      "NAME": "heater",
      "NR": "73",
      "STATE": "21.0",
      "TYPE": "HMCCUDEV",
      "ccuaddr": "XXXX",
      "ccudevstate": "active",
      "ccuif": "HmIP-RF",
      "ccuname": "thermostat01",
      "ccutype": "HmIP-eTRV-2",
      "channels": "8",
      "firmware": "2.2.8",
      "statevals": "devstate"
    },
    "Readings": {
      "0.CONFIG_PENDING": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "0.DUTY_CYCLE": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "0.LOW_BAT": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "0.OPERATING_VOLTAGE": { "Value":"3.0", "Time":"2020-04-03 19:10:21" },
      "0.OPERATING_VOLTAGE_STATUS": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "0.RSSI_DEVICE": { "Value":"-39", "Time":"2020-04-03 19:10:21" },
      "0.RSSI_PEER": { "Value":"-35", "Time":"2020-04-03 19:10:21" },
      "0.UNREACH": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "1.ACTIVE_PROFILE": { "Value":"1", "Time":"2020-04-03 19:10:21" },
      "1.ACTUAL_TEMPERATURE": { "Value":"23.4", "Time":"2020-10-09 14:04:55" },
      "1.ACTUAL_TEMPERATURE_STATUS": { "Value":"0", "Time":"2020-10-09 14:04:55" },
      "1.BOOST_MODE": { "Value":"0", "Time":"2020-10-09 14:04:55" },
      "1.BOOST_TIME": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "1.FROST_PROTECTION": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "1.LEVEL": { "Value":"0.0", "Time":"2020-04-03 19:10:21" },
      "1.LEVEL_STATUS": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "1.PARTY_MODE": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "1.QUICK_VETO_TIME": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "1.SET_POINT_MODE": { "Value":"1", "Time":"2020-10-09 14:04:55" },
      "1.SET_POINT_TEMPERATURE": { "Value":"21.0", "Time":"2020-10-09 14:04:55" },
      "1.SWITCH_POINT_OCCURED": { "Value":"0", "Time":"2020-04-03 19:10:21" },
      "1.VALVE_STATE": { "Value":"4", "Time":"2020-04-03 19:10:21" },
      "1.WINDOW_STATE": { "Value":"closed", "Time":"2020-10-09 14:04:55" },
      "control": { "Value":"21.0", "Time":"2020-10-09 14:04:55" },
      "hmstate": { "Value":"21.0", "Time":"2020-10-09 14:04:55" },
      "state": { "Value":"21.0", "Time":"2020-10-09 14:04:55" },
      "valve_position": { "Value":"0", "Time":"2020-10-09 14:04:55" },
      "valve_position_STATUS": { "Value":"0", "Time":"2020-10-09 14:04:55" }
    },
    "Attributes": {
      "IODev": "rpc",
      "ccureadingfilter": "^ACTUAL_TEMPERATURE|^BOOST_MODE|^SET_POINT_MODE|^SET_POINT_TEMPERATURE|^LEVEL|^WINDOW_STATE",
      "ccureadingname": "1.LEVEL:valve_position",
      "ccuscaleval": "LEVEL:0:1:0:100",
      "controldatapoint": "1.SET_POINT_TEMPERATURE",
      "eventMap": "/datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manual/datapoint 1.CONTROL_MODE 2:Holiday/datapoint 1.CONTROL_MODE 1 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.CONTROL_MODE 0 1.SET_POINT_TEMPERATURE 30.5:on/",
      "gassistantName": "Heizung",
      "group": "Thermostate",
      "realRoom": "Richard",
      "room": "Heizung",
      "statedatapoint": "1.SET_POINT_TEMPERATURE",
      "stripnumber": "1",
      "substexcl": "control",
      "substitute": "SET_POINT_TEMPERATURE!#0-4.5:off,#30.5-40:on;WINDOW_STATE!(0|false):closed,(1|true):open",
      "webCmd": "control",
      "widgetOverride": "control:slider,4.5,0.5,30.5,1"
    }
  }  ],
  "totalResultsReturned":1
}


Thermometer:
{
  "Arg":"thermometerAussen",
  "Results": [
  {
    "Name":"thermometerAussen",
    "PossibleSets":"clear config defaults:noArg control datapoint rpcparameter ",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev ccuaggregate:textField-long ccucalculate:textField-long ccuflags:multiple-strict,ackState,logCommand,nochn0,trace ccureadingfilter:textField-long ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname:textField-long ccureadings:0,1 ccuget:State,Value ccuscaleval ccuSetOnChange ccuverify:0,1,2 disable:0,1 hmstatevals:textField-long statevals substexcl substitute:textField-long statechannel statedatapoint controldatapoint stripnumber peer:textField-long event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading assistantName:textField cmdIcon 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,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": {
      "DEF": "XXXX defaults",
      "FUUID": "XXXX",
      "IODev": "rpc",
      "NAME": "thermometerAussen",
      "NR": "84",
      "STATE": "14.2 °C | 85 %",
      "TYPE": "HMCCUDEV",
      "ccuaddr": "XXXX",
      "ccudevstate": "active",
      "ccuif": "HmIP-RF",
      "ccuname": "thermometer01",
      "ccutype": "HmIP-STHO",
      "channels": "4",
      "firmware": "1.0.6",
      "statevals": "devstate"
    },
    "Readings": {
      "0.CONFIG_PENDING": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "0.DUTY_CYCLE": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "0.ERROR_CODE": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "0.INSTALL_TEST": { "Value":"true", "Time":"2020-10-09 09:30:48" },
      "0.LOW_BAT": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "0.OPERATING_VOLTAGE": { "Value":"2.9", "Time":"2020-10-09 14:14:08" },
      "0.OPERATING_VOLTAGE_STATUS": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "0.RSSI_DEVICE": { "Value":"-89", "Time":"2020-10-09 14:14:08" },
      "0.RSSI_PEER": { "Value":"0", "Time":"2020-10-09 09:30:48" },
      "0.TEMPERATURE_OUT_OF_RANGE": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "0.UNREACH": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "0.UPDATE_PENDING": { "Value":"false", "Time":"2020-10-09 09:30:48" },
      "1.ACTUAL_TEMPERATURE": { "Value":"14.2", "Time":"2020-10-09 14:14:08" },
      "1.ACTUAL_TEMPERATURE_STATUS": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "1.HUMIDITY": { "Value":"85", "Time":"2020-10-09 14:14:08" },
      "1.HUMIDITY_STATUS": { "Value":"0", "Time":"2020-10-09 14:14:08" },
      "hmstate": { "Value":"unreachable", "Time":"2020-10-01 15:30:37" }
    },
    "Attributes": {
      "IODev": "rpc",
      "gassistantName": "Thermometer Außen",
      "group": "Thermometer",
      "realRoom": "Temperatur",
      "room": "Heizung",
      "stateFormat": "1.ACTUAL_TEMPERATURE °C | 1.HUMIDITY %"
    }
  }  ],
  "totalResultsReturned":1
}

a_quadrat

Hallo Zusammen,

kann man bei HUE - Gruppen die Farbe ändern? In Fhem funktioniert das ohne Probleme, aber Google antwortet: "das Gerät unterstützt diese Funktion noch nicht".
Kann man da was mit homebridgemapping machen, oder ist es besser das Gerät mit zu implementieren?

VG Andreas

dominik

@Richard, werde ich heute Abend integrieren.

@Andreas, kannst du mir bitte das jsonlist2 von der Gruppe posten?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

NePheus

#2306
Hallo dominik,

mein Homematic FROLL (Rollladensteuerung) wird in der App als Lampe angezeigt. In der App ist er nicht steuerbar und ich kann ihn nur steuern wenn ich sage:
"Stelle Rollladen auf x Prozent"

Wäre natürlich cool wenn man sagen könnte:
"Fahre Rollladen runter"
"Fahre Rollladen hoch"
"Stoppe Rollladen"
"Fahre Rollladen auf x Prozent"

Ich gehe davon aus, dass das untern den Punkt "Manche Funktionen, die zwar über Sprache funktionieren, sind in der Home App noch nicht steuerbar (z.B. Rollos)." in deiner Anleitung fällt. Gibt es da mittlerweile schon eine bessere Lösung von Google oder muss man sich damit momentan noch zufrieden geben?


{
  "Arg":"Rollladen",
  "Results": [
  {
    "Name":"Rollladen",
    "PossibleSets":"stop:noArg down:noArg up:noArg stopCalibration:noArg startCalibration:noArg clear config defaults:noArg control datapoint rpcparameter devstate toggle:noArg pct up down ",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev ccuaggregate:textField-long ccucalculate:textField-long ccuflags:multiple-strict,ackState,logCommand,nochn0,trace ccureadingfilter:textField-long ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname:textField-long ccureadings:0,1 ccuget:State,Value ccuscaleval ccuSetOnChange ccuverify:0,1,2 disable:0,1 hmstatevals:textField-long statevals substexcl substitute:textField-long statechannel statedatapoint controldatapoint stripnumber peer:textField-long event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading 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,scene,ac_unit,aircondition,airfreshener,airpurifier,awning,bathtub,bed,blender,blinds,boiler,camera,charger,closet,coffee_maker,coffeemaker,cooktop,curtain,dehumidifier,dehydrator,dishwasher,door,drawer,dryer,fan,faucet,fireplace,fryer,gate,grill,heater,hood,humidifier,kettle,mop,mower,microwave,multicooker,oven,pergola,petfeeder,pressurecooker,radiator,refrigerator,securitysystem,sensor,shutter,shower,sousvide,sprinkler,standmixer,vacuum,valve,washer,waterheater,yogurtmaker,carbon_monoxide_detector,remotecontrol,settop,smoke_detector,tv,waterpurifier,watersoftener,network,router,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": {
      "DEF": "xxxxx",
      "FUUID": "xxxxx",
      "NAME": "Rollladen",
      "NR": "71",
      "STATE": "open",
      "TYPE": "HMCCUDEV",
      "ccuaddr": "xxxxx",
      "ccudevstate": "active",
      "ccuif": "HmIP-RF",
      "ccuname": "HmIP-FROLL xxxxx",
      "ccutype": "HmIP-FROLL",
      "channels": "8",
      "statevals": "devstate"
    },
    "Readings": {
      "0.ACTUAL_TEMPERATURE": { "Value":"0.0", "Time":"2020-10-04 15:22:32" },
      "0.ACTUAL_TEMPERATURE_STATUS": { "Value":"normal", "Time":"2020-10-04 15:22:32" },
      "0.ERROR_CODE": { "Value":"0", "Time":"2020-10-04 15:22:32" },
      "0.ERROR_OVERHEAT": { "Value":"no", "Time":"2020-10-04 15:22:32" },
      "0.UNREACH": { "Value":"alive", "Time":"2020-10-04 15:22:32" },
      "3.ACTIVITY_STATE": { "Value":"stop", "Time":"2020-10-04 15:22:32" },
      "3.LEVEL": { "Value":"open", "Time":"2020-10-04 15:22:32" },
      "3.LEVEL_STATUS": { "Value":"0", "Time":"2020-10-04 15:22:32" },
      "4.ACTIVITY_STATE": { "Value":"stop", "Time":"2020-10-04 15:22:32" },
      "5.ACTIVITY_STATE": { "Value":"stop", "Time":"2020-10-04 15:22:32" },
      "6.ACTIVITY_STATE": { "Value":"stop", "Time":"2020-10-04 15:22:32" },
      "control": { "Value":"100", "Time":"2020-10-04 15:22:32" },
      "hmstate": { "Value":"open", "Time":"2020-10-04 15:22:32" },
      "pct": { "Value":"100", "Time":"2020-10-04 15:22:32" },
      "state": { "Value":"open", "Time":"2020-10-04 15:22:32" }
    },
    "Attributes": {
      "IODev": "d_ccu",
      "alias": "Rollladen",
      "ccureadingfilter": "3.LEVEL;(ERROR_CODE|ERROR_OVERHEAT|ACTUAL_TEMPERATURE|ACTIVITY_STATE|SELF_CALIBRATION_RESULT)",
      "ccureadingname": "3.LEVEL$:+control,+pct",
      "ccuscaleval": "LEVEL:0:1:0:100",
      "cmdIcon": "up:fts_shutter_up stop:fts_shutter_manual down:fts_shutter_down",
      "controldatapoint": "4.LEVEL",
      "eventMap": "/datapoint 4.STOP true:stop/datapoint 4.LEVEL 0:down/datapoint 4.LEVEL 100:up/datapoint 3.SELF_CALIBRATION 0:stopCalibration/datapoint 3.SELF_CALIBRATION 1:startCalibration/",
      "hmstatevals": "ACTUAL_TEMPERATURE_STATUS!2:tempOverflow,3:tempUnderflow;ERROR_OVERHEAT!(1|true):overheat",
      "realRoom": "Rollläden",
      "room": "GoogleAssistant,HomeMatic",
      "statedatapoint": "3.LEVEL",
      "stripnumber": "1",
      "substexcl": "control|pct",
      "substitute": "LEVEL!#0-0:closed,#100-100:open;ACTIVITY_STATE!0:unknown,1:up,2:down,3:stop;ERROR_OVERHEAT!(0|false):no,(1|true):yes;ACTUAL_TEMPERATURE_STATUS!0:normal,1:unknown,2:overflow,3:underflow;SELF_CALIBRATION_RESULT!(0|false):failed,(1|true):ok",
      "webCmd": "control:up:stop:down",
      "widgetOverride": "control:slider,0,10,100"
    }
  }  ],
  "totalResultsReturned":1
}

a_quadrat

Zitat von: dominik am 10 Oktober 2020, 13:25:13
@Andreas, kannst du mir bitte das jsonlist2 von der Gruppe posten?

Anbei die Jsonlist2

VG Andreas


{
  "Arg":"HUEG_ACT_LI_ESSZ_WAND_____01",
  "Results": [
  {
    "Name":"HUEG_ACT_LI_ESSZ_WAND_____01",
    "PossibleSets":"off:noArg on:noArg toggle:noArg statusRequest:noArg pct:colorpicker,BRI,0,1,100 bri:colorpicker,BRI,0,1,254 rgb:colorpicker,RGB color:colorpicker,CT,2000,1,6500 ct:colorpicker,CT,154,1,500 hue:colorpicker,HUE,0,1,65535 sat:slider,0,1,254 xy dimUp:noArg dimDown:noArg ctUp:noArg ctDown:noArg hueUp:noArg hueDown:noArg satUp:noArg satDown:noArg alert:none,select,lselect,breathe,okay,channelchange,finish,stop effect:none,colorloop lights rename savescene deletescene scene:HE_RELAX,HE_READ,HE_CONCENTRATE,HE_ENERGIZE,HE_BRIGHT,HE_DIMMED,HE_NIGHTLIGHT on-till on-for-timer intervals on-till-overnight blink off-for-timer off-till-overnight off-till attrTemplate:?,speechcontrol_general_naming_master_template,C_01_Eurotronic_SPZB0001_Spirit_ZigBee,D_01_Xiaomi_Aqara_MCCGQ11LM_Window_Door_Sensor,E_01a_Xiaomi_Aqara_WSDCGQ11LM_Temperature_Sensor,E_01b_Xiaomi_Aqara_WSDCGQ11LM_Pressure_Sensor,E_01c_Xiaomi_Aqara_WSDCGQ11LM_Humidity_Sensor,F_01a_Xiaomi_Aqara_RTCGQ11LM_Lightlevel_Sensor,F_01a_Xiaomi_Aqara_RTCGQ11LM_Motion_Sensor,G_01_Xiaomi_Aqara_WXKG02LM_Double_Switch",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev delayedUpdate:1 ignoreReachable:1,0 realtimePicker:1,0 color-icons:1,2 transitiontime model:CLA60#RGBW#OSRAM,Classic#A60,Classic#A60#RGBW,Classic#A60#TW,Classic#B40#TW,DM01,FLS-H3,FLS-PP3,Flex#RGBW,Gardenspot#RGB,LCT001,LCT002,LCT003,LCT007,LCT010,LCT011,LCT012,LCT014,LCT024,LLC001,LLC005,LLC006,LLC007,LLC010,LLC011,LLC012,LLC013,LLC014,LLC020,LLM001,LLM010,LLM011,LLM012,LOM001,LOM002,LST001,LST002,LTW001,LTW004,LTW012,LTW013,LTW014,LWB001,LWB003,LWB004,LWB006,LWB007,LWB010,LWB014,LWL001,PAR16#50#TW,Plug#-#LIGHTIFY,Plug#01,RM01,RWL020,RWL021,Surface#Light#TW,ZGPSWITCH setList:textField-long configList:textField-long subType:extcolordimmer,colordimmer,ctdimmer,dimmer,switch,blind readingList event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude DbLogValueFn:textField-long alarmDevice:Actor,Sensor alarmSettings assistantName:textField cmdIcon devStateIcon devStateIcon:textField-long devStateStyle gassistantName 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,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 createActionReadings:1,0 createGroupReadings:1,0 userattr",
    "Internals": {
      "DEF": "group 4  IODev=deCONZ",
      "FUUID": "5f42272e-f33f-a497-25dd-ac02157c4053ee3c",
      "FVERSION": "31_HUEDevice.pm:0.229470/2020-10-09",
      "ID": "G4",
      "INTERVAL": "null",
      "IODev": "deCONZ",
      "NAME": "HUEG_ACT_LI_ESSZ_WAND_____01",
      "NR": "1150",
      "STATE": "unknown",
      "TYPE": "HUEDevice",
      "desired": "0",
      "lights": "3,6",
      "name": "HUEG_ACT_LI_ESSZ_WAND_____01",
      "type": "LightGroup"
    },
    "Readings": {
      "all_on": { "Value":"0", "Time":"2020-10-10 16:13:44" },
      "any_on": { "Value":"0", "Time":"2020-10-10 16:13:44" }
    },
    "Attributes": {
      "DbLogExclude": ".*",
      "IODev": "deCONZ",
      "color-icons": "2",
      "delayedUpdate": "1",
      "devStateIcon": "{(HUEDevice_devStateIcon($name),\"toggle\")}",
      "gassistantName": "Wandlampe",
      "genericDeviceType": "light",
      "group": "HUEGroup",
      "realRoom": "Esszimmer",
      "room": "GoogleAssistant,HUEDevice",
      "userattr": "createActionReadings:1,0 createGroupReadings:1,0"
    }
  }  ],
  "totalResultsReturned":1
}



dominik

@kriegerkl, Google hat den Bug zumindest schon mal assigned. Das bedeutet im Normalfall, dass sie sich das Thema genauer anschauen.

@Richard, kannst du mir noch sagen wo ich den aktuellen Mode aus einem Reading auslesen kann? Ob Auto/Manual/on/off? Rest sollte morgen funktionieren.

@NePheus, wenn es bei dir als Lampe angezeigt wird, dann hast du aber schon lange nicht mehr synchronisiert, oder? Eigentlich sollte es als Rollo angezeigt werden, steuern geht aber leider per Home App noch nicht.
Siehe https://developers.google.com/assistant/smarthome/develop/touch-controls ganz unten.

@Andreas, sollte morgen funktionieren. Bitte beachte, dass mangels Readings der aktuelle Status nicht ausgelesen werden kann. Dazu muesste man die Readings aus den Devices in die Gruppe uebertragen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Update ist online.

Ich habe gerade fuer Xiaomi Temperatursensoren testweise den Trait von TemperatureSetting auf TemperatureControl umgestellt. So soll es laut Google Standard sein.

Was fuer Auswirkungen hat das?
In der Home App sieht man die Temperatur nicht, da der Type SENSOR in der Home App noch nicht unterstuetzt wird. Dafuer erhaelt man aber beim Abfragen der Temperatur eine auf 2 Kommastellen genaue Ansage und keine Ansage, dass das Thermostat ausgeschaltet ist.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik