39_gassistant.pm (Google Assistant, Google Home)

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

Vorheriges Thema - Nächstes Thema

ather

Hallo Zusammnen,

ich habe Google per fhem und dem Modul gasisstant in loxone integriert bzw. kann über google jetzt Lampen schalten. Leider kann ich noch nicht den Status an Google zurückmelden ohne in eine Dauerschleife zu kommen.

Hat einer eine Idee, wie ich es am besten realisieren kann, dass google auch informiert wird wenn ich die Lampe über Loxone schalte?
Also ich kann einen Status per virt. Ausgang schon an Fhem senden mit dem Befehl "setreading". Nur dann wird eben eine Dauerschleife ausgelöst, da:
Loxone (über Taste) schaltet Lampe ein > Befehl: "setreading LichtB State on" wird ausgelöst > Fhem triggert erneut und lampe geht wieder aus >.....

Habe bereits wie in einem anderen Thread vorgeschlagen im modul Dummy 2 readings gesetzt:
loxtogoogle on:off
Googletolox on:off

Ein reading soll eben aktiv Schalten und das andere Reading soll den status eben nur an google melden über homebridgemapping, damit google weiss, ob die Lampe an ist.

Wie würdet ihr sowas am besten umsetzen bzw. könntet Ihr mir helfen das Notify dafür zu erstellen? Welche Infos werden dazu benötigt?

Gruß
Ather

SouzA

Zitat von: ather am 26 Oktober 2020, 16:25:05
Hallo Zusammnen,

ich habe Google per fhem und dem Modul gasisstant in loxone integriert bzw. kann über google jetzt Lampen schalten. Leider kann ich noch nicht den Status an Google zurückmelden ohne in eine Dauerschleife zu kommen.

Hat einer eine Idee, wie ich es am besten realisieren kann, dass google auch informiert wird wenn ich die Lampe über Loxone schalte?
Also ich kann einen Status per virt. Ausgang schon an Fhem senden mit dem Befehl "setreading". Nur dann wird eben eine Dauerschleife ausgelöst, da:
Loxone (über Taste) schaltet Lampe ein > Befehl: "setreading LichtB State on" wird ausgelöst > Fhem triggert erneut und lampe geht wieder aus >.....

Habe bereits wie in einem anderen Thread vorgeschlagen im modul Dummy 2 readings gesetzt:
loxtogoogle on:off
Googletolox on:off

Ein reading soll eben aktiv Schalten und das andere Reading soll den status eben nur an google melden über homebridgemapping, damit google weiss, ob die Lampe an ist.

Wie würdet ihr sowas am besten umsetzen bzw. könntet Ihr mir helfen das Notify dafür zu erstellen? Welche Infos werden dazu benötigt?

Gruß
Ather
Moin,
mir ist nicht ganz klar, warum fhem deine Lampe wieder ausschaltet.
Machst du irgendwo nen toggle-Befehl?

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

ather

Zitat von: SouzA am 26 Oktober 2020, 18:51:11
Moin,
mir ist nicht ganz klar, warum fhem deine Lampe wieder ausschaltet.
Machst du irgendwo nen toggle-Befehl?

Bis denn
SouzA

Hallo SouzA,

sobald von google ein Befehl kommt (Lampe ein/aus), führt fhem eine Schaltung durch (Trigger) und sendet den Befehl on/off an loxone(Aktor).
Loxone gibt dann eine Statusmeldung  zurück an Fhem und sagt die Lampe ist an (über virtuellen Ausgang).

Wenn ich z.b In Loxone direkt schalte, dann wird eben wieder ein Status "Lampe On/Off" an fhem gesendet ("mit setreading Lampe on") und fhem fürht direkt eine Schaltung (Event) durch und leitet es erneut weiter an Loxone. Es erfolgt dann wieder eine Schaltung und die Lampe geht wieder aus.
Das notify,dass ich erstellt habe wartet auf alle Events und leitet jedes event an Loxone über MQTT.
Somit wird der Eingang von Loxone erneut getriggert und die Lampe geht wieder AN/aus.
Dann kommt wieder Statusmeldung zurück an Fhem > erneuter Trigger......usw.

Man müsste im Notify vielleicht irgendwie programmieren, dass wenn der status von Loxone kommt es eben kein Event geben soll und nur der Status z.b über homebridgemapping an ggoogle übergeben wird, sodass google weiss, das die lampe an ist und dies entsprechend in Google home app anzeigt.

Gruß
Ather

Rothammel

Zitat von: dominik am 17 Oktober 2020, 10:29:34
Poste mir bitte das jsonlist2 vom Device.

Ich schaue mir das am Abend an.

Hallo gibt es hier zu etwas Neues?

st0ne

Guten Abend,

ich bin neu in FHEM und habe erfolgreich folgendes Setup eingerichtet. Raspberry 3 + Conbee 2 + FHEM (HUEBridge + gassistant).

Ich will meine Lampen damit steuern, klappt alles. Wenn jetzt eine Lampe per Lichtschalter ausgeschaltet wird, wird dies durch deCONZ und FHEM korrekt erkannt, bei beiden "Aus" bzw. unreachable. Allerdings in Google Home wird die Lampe noch als "An" angezeigt.

Kann man da etwas machen? Die Suche hat mir nicht geholfen oder ich habe es übersehen

Ich hatte einmal Homebridge in Use, dort gab es eine extra Option "Wallswitch" für solche Fälle, sowas habe ich hier nicht gefunden.

Gruß
St0ne

a_quadrat

Zitat von: st0ne am 27 Oktober 2020, 21:13:08
Guten Abend,

ich bin neu in FHEM und habe erfolgreich folgendes Setup eingerichtet. Raspberry 3 + Conbee 2 + FHEM (HUEBridge + gassistant).

Ich will meine Lampen damit steuern, klappt alles. Wenn jetzt eine Lampe per Lichtschalter ausgeschaltet wird, wird dies durch deCONZ und FHEM korrekt erkannt, bei beiden "Aus" bzw. unreachable. Allerdings in Google Home wird die Lampe noch als "An" angezeigt.

Kann man da etwas machen? Die Suche hat mir nicht geholfen oder ich habe es übersehen

Ich hatte einmal Homebridge in Use, dort gab es eine extra Option "Wallswitch" für solche Fälle, sowas habe ich hier nicht gefunden.

Gruß
St0ne

Hallo,

ist deine Lampe ein HUE-DEVICE oder HUE-Group? Bei der HUE-Group wird der Status aktuell noch nicht unterstützt bzw funktioniert bei mir auch noch nicht, aber bei HUE-Devices sollte es funktionieren.

VG Andreas

st0ne

Zitat von: a_quadrat am 28 Oktober 2020, 22:25:07
Hallo,

ist deine Lampe ein HUE-DEVICE oder HUE-Group? Bei der HUE-Group wird der Status aktuell noch nicht unterstützt bzw funktioniert bei mir auch noch nicht, aber bei HUE-Devices sollte es funktionieren.

VG Andreas

Hi, danke für deine Antwort. Es sind alles einzelne HueDevice die ich hinzugefügt habe.

bartman121

hiho,

ich habe einen Dummy mit dem ich Temperaturvorgaben für meinen PID20-Regler mache, hier ein LIST davon:

Internals:
   FUUID      5c49963a-f33f-1dd6-df88-f331030067cda608
   NAME       WZ_HEIZ
   NR         22
   STATE      17
   TYPE       dummy
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1603996249.3573
           VALUE      17
   READINGS:
     2020-10-29 19:30:49   desired         17
     2020-10-29 19:30:49   state           17
     2019-02-22 09:14:40   status          21
Attributes:
   alexaName  Wohnzimmer
   alias      Wohnzimmer
   assistantName Wohnzimmer
   event-on-change-reading state,soll_temp,akt_temp
   genericDeviceType thermostat
   group      Heizungssteuerung
   homebridgeMapping TargetTemperature=state::state,minValue=5,maxValue=25,minStep=0.5,
CurrentTemperature=WZ.TEMP:temperature,
nocache=1
   readingList state desired
   room       GoogleAssistant,Wohnung,Wohnzimmer
   setList    state:5,16,20,21,22,23
   webCmd     5:17:20:21:22:23


ich kann mit Google die Temperatur auch verstellen, jedoch wird die IST-Temperatur nicht angezigt. Unter Alexa hat das früher mit dem Homebridgemapping funktioniert.

Kann mir Jemand sagen wie ich die IST-Temperatur in google home angezeigt bekomme?

ather

#2363
Zitat von: zontorro am 24 Februar 2020, 12:47:23
Hallo,

ich habe noch eine andere Frage zu meinen Rollläden:
Ich nutze Elero-Rollläden in FHEM als Typ "EleroDrive" angelegt. Da diese vom gassistant nicht gemappt werden können habe ich den Umweg über das "ROLLO"-Modul versucht, das funktioniert allerdings zeigt mir die Google-Home-App die Rollos als Lampen an. Ist das normal? Um in den Rollladen in die Endpositionen zu bringen muss ich dann "Rollo in Zimmer X auf 0%/100%" sagen, "aus/an" wird erkannt allerdings reagiert der Rollladen nicht...

Grüße
zontorro

Habe leider das gleiche Problem. Gibt es hier schon eine Lösung?
Wenn ich genericDeviceType "blinds" setze wird es in der App wiederum als Rollo erkannt und auch per Sprache, lässt sich aber nicht steuern, also die readings ändern sich nicht.

Im Log sehe ich folgenden Fehler, wenn ich einen Befehl per Sprache ausführe.

2020.10.29 22:54:35 2 : ERROR: Unknown command 100, choose one of  half:noArg open:noArg stop:noArg drive:textField unblocked:noArg up:noArg extern:open,closed,stop down:noArg reset:open,closed blocked:noArg pct:0,10,20,30,40,50,60,70,80,90,100 closed:noArg


Mach ich da irgendwas falsch, oder ist das Modul Rollo noch nicht bereit für google?

Gruß
Ather

ather

#2364
Hallo zusammen,

habe nun homebridgemapping eingefügt:

{
  "OpenClose": {
    "reading": "state",
    "values": ["/^closed/:CLOSED", "/.*/:OPEN"],
    "cmdOpen": "open",
    "cmdClose": "close"
  },
  "TargetPosition": {
    "reading": "position",
    "cmd": "position",
    "invert": true
  },
  "CurrentPosition": {
    "reading": "position",
    "invert": true
  }
}


wenn ich jetzt die Rollos per Sprache steuere kommt folgender Log im Event monitor:

2020-10-30 09:23:05 ROLLO RolloB command: open
2020-10-30 09:23:05 ROLLO RolloB desired_pct: 0
2020-10-30 09:23:05 ROLLO RolloB last_drive: drive-up
2020-10-30 09:23:05 ROLLO RolloB drive-up


Aber es ändert sich im FHEM kein reading und es wird nix an MQTT_Gateway weitergegeben. Nur wenn ich manuell per hand im Fhem(Rollo) schalte.

hier die List:
ddefmod RolloB ROLLO
attr RolloB alias Rollo Büro
attr RolloB cmdIcon open:fts_shutter_up closed:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
attr RolloB devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop pct-100:fts_shutter_100:open pct-90:fts_shutter_80:closed pct-80:fts_shutter_80:closed pct-70:fts_shutter_70:closed pct-60:fts_shutter_60:closed pct-50:fts_shutter_50:closed pct-40:fts_shutter_40:open pct-30:fts_shutter_30:open pct-20:fts_shutter_20:open pct-10:fts_shutter_10:open pct-0:fts_shutter_10:closed
attr RolloB genericDeviceType blinds
attr RolloB homebridgeMapping {\
  "OpenClose": {\
    "reading": "state",\
    "values": ["/^closed/:CLOSED", "/.*/:OPEN"],\
    "cmdOpen": "open",\
    "cmdClose": "close"\
  },\
  "TargetPosition": {\
    "reading": "position",\
    "cmd": "position",\
    "invert": true\
  },\
  "CurrentPosition": {\
    "reading": "position",\
    "invert": true\
  }\
}
attr RolloB rl_autoStop 0
attr RolloB rl_excessBottom 2
attr RolloB rl_excessTop 4
attr RolloB rl_secondsDown 35
attr RolloB rl_secondsUp 35
attr RolloB rl_switchTime 1
attr RolloB rl_type normal
attr RolloB room GoogleAssistant
attr RolloB webCmd open:closed:half:stop:pct
setstate RolloB open
setstate RolloB 2020-10-30 09:23:05 command open
setstate RolloB 2020-10-30 09:23:05 desired_pct 0
setstate RolloB 2020-10-30 09:23:05 drive-type modul
setstate RolloB 2020-10-30 09:23:05 last_drive drive-up
setstate RolloB 2020-10-30 09:23:46 pct 0
setstate RolloB 2020-10-30 09:23:46 state open


Möchte im Prinzip nur ein reading up und down erzeugen und den Status im Loxone abgleichen. Statusabgleich würde mit pct ja funktionieren.

Gruß
Ather

SouzA

Zitat von: ather am 27 Oktober 2020, 12:47:25
Hallo SouzA,

sobald von google ein Befehl kommt (Lampe ein/aus), führt fhem eine Schaltung durch (Trigger) und sendet den Befehl on/off an loxone(Aktor).
Loxone gibt dann eine Statusmeldung  zurück an Fhem und sagt die Lampe ist an (über virtuellen Ausgang).

Wenn ich z.b In Loxone direkt schalte, dann wird eben wieder ein Status "Lampe On/Off" an fhem gesendet ("mit setreading Lampe on") und fhem fürht direkt eine Schaltung (Event) durch und leitet es erneut weiter an Loxone. Es erfolgt dann wieder eine Schaltung und die Lampe geht wieder aus.
Das notify,dass ich erstellt habe wartet auf alle Events und leitet jedes event an Loxone über MQTT.
Somit wird der Eingang von Loxone erneut getriggert und die Lampe geht wieder AN/aus.
Dann kommt wieder Statusmeldung zurück an Fhem > erneuter Trigger......usw.

Man müsste im Notify vielleicht irgendwie programmieren, dass wenn der status von Loxone kommt es eben kein Event geben soll und nur der Status z.b über homebridgemapping an ggoogle übergeben wird, sodass google weiss, das die lampe an ist und dies entsprechend in Google home app anzeigt.

Gruß
Ather
Ich hätte gesagt, du führst da das event-on-change-reading ein.
Oder ich habs immernoch nicht kapiert.  ::) :o
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

Zitat von: Rothammel am 17 Oktober 2020, 10:41:57
{
  "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
}


Sorry für die späte Rückmeldung, war noch mit anderen Projekten beschäftigt.

Fehler gefunden, in desired-temp ist auch das "C" mit drin statt nur eine Zahl. Ich werde das anpassen, dann läuft es morgen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: a_quadrat am 17 Oktober 2020, 11:44:53
Der Brightnesswert wird jetzt in der App angezeigt, aber der Status der Lampe bleibt auf "Aus".

Was für einen Wert hat state bei on/off? Ist dort eventuell kein on/off?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: kriegerkl am 17 Oktober 2020, 15:34:46
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"
a) Falls du kein Thermostat hast, sondern nur Temp&Humidity Sensoren, dann setze den Typ auf sensor. Bei Thermostat kommt man um die Ansage "...ist ausgeschaltet" nicht herum.
c) Kommt da ein lastServerError im gassistant Device? Wenn ja, bitte posten.

Zitat
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.
Das liegt an Google. Beachte bitte, wenn du auf Sensor umstellst, siehst du in der Home App gar keine Werte mehr weil Google den Typ in der Home App noch nicht unterstützt...leider...

Zitat
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?
Mich wundert, dass du überhaupt channelNumber 1 als EXECUTE bekommst, da du im Mapping keine "number" definiert hast. Siehe dazu das Wiki - Konfiguration - Channels. Kannst du eine beliebige Channel Number sagen und erhältst dazu ein EXECUTE mit channelNumber?
Ich habe den Fehler bei mir gefunden, hatte channelNumber noch nicht verarbeitet. Ich behebe den Fehler, aber du brauchst dann im Mapping wahrscheinlich noch ein "cmd":"channel" damit set ... channel 1 rauskommt und nicht set ... 1. Es kann sein, dass dann das Umschalten mit Kanalname aber nicht funktioniert, wäre super, wenn du das testen könntest und mir nochmals Bescheid gibst. Danke!

Zitat
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"}
}
TemperatureControl = Alles was NICHT ein Thermostat ist
TemperatureSetting = NUR für Thermostate
Ich habe die Konfiguration im Wiki nun im JSON Format ergänzt, damit sollte es nun einfacher sein.

Zitat
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.
Ich habe hier schon vieles überlegt, aber noch keine passende Lösung gefunden. Ich könnte das homebridgeMapping auch in das Device zurück schreiben, nur wird es dann schwierig mit Updates, da ich sonst eventuell Änderungen überschreibe. Vielleicht probier ich attrTemplate auch nochmals aus, da sehe ich aber 2 Probleme: 1) User muss es selbst auswählen, ich habe es aber lieber, wenn alles automatisch geht und man als User nichts machen muss, 2) Ebenfalls das Problem, dass Updates manuell getriggert werden müssen.

Aber ja, Beispiele würden sicher helfen. Bitte gerne auch mit Beispielen im Wiki selbst beisteuern. Ich mach dort mal ein Beispiel Kapitel mit rein.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: lucca111 am 23 Oktober 2020, 18:45:57
@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

Das klingt eigenartig. Welche Device Types haben die 3 Geräte in der Home App? Sind vielleicht alle 3 TVs?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik