39_gassistant.pm (Google Assistant, Google Home)

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

Vorheriges Thema - Nächstes Thema

dominik

Zitat von: smoki3 am 05 August 2020, 15:15:31
Bei mir geht seit gestern local home nicht mehr. Bekomme keine Fehlermeldung oder sonstiges. Es steht einfach dauerhaft auf inactive

Ein gassistant Neustart bringt auch keine Hilfe? Pruefe bitte mal im gassistant Log beim Starten von gassistant ob das Fehler auftauchen. Oder hast du an deiner Netzwerkkonfiguration etwas geaendert?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: hondong am 14 August 2020, 12:08:30
Hallo,

ich habe beim FHEM mehrere Shelly RGBWs mit Tasmota über MQTT2 integriert.
FHEM erkennt diese sauber und kann diese steuern.

Bei Google bekomme ich aktuell nur ein / ausschalten und die Helligkeit hin.
Die Farbe kann ich nicht setzen.

Ich habe bereits mehrere MQTT2 Templates ausprobiert (tasmota_rgbw_controller, tasmota_rgbw_controller)

Was muss ich machen, damit ich die Farbe setzen kann?
Eigentlich sollte google das ja selbst erkennen.

VIele Grüße, Nils

Bitte poste jsonlist2 vom Device.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: RomanB am 17 August 2020, 17:23:56
Ich bin's noch mal. Gibt es denn eine Möglichkeit das Cook-Trait über das homebridgeMapping zu konfigurieren? Die Konfigurations-Doku schweigt sich hierüber leider aus. Ich würde gerne meine Siemens Kaffeemaschine anbinden und mehr als ein- und ausschalten können! :-)

Cook ist noch nicht implementiert. Nachdem ich uebernaechste Woche wieder etwas Zeit fuer gassistant habe, werde ich noch die restlichen Traits (vor allem Channel duerfte fuer viele interessant sein) implementieren.
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 21 August 2020, 17:32:52
Kannst du bitte pruefen ob irgendein Prozess auf 100% laeuft wenn das passiert? Ich hatte es bei mir nun schon laenger nicht mehr und dachte daher, dass es bei Google an irgendeiner Cloud Function lagt, duerfte dann aber doch nicht der Fall sein.

Hey Dominik,
schön wieder von dir zu hören...  ;) :)

Hast du einen Vorschlag, wie ich das prüfen oder loggen könnte?
Ich gebe dir aber recht, seit wir wieder aus dem Urlaub da sind (ca. 1,5 Wochen) war nichts mehr. Könnte also doch an Arbeiten von Google hängen?!

Heute morgen hat sich zwar der gesamte Raspi einmal komplett verschluckt, aber das wird nix mit gassistant zu tun gehabt haben.
Aber kleiner Funfact nebenbei:
so sah der log heute morgen dann aus... man achte auf die Zeiten.
Wie das geht, weiß ich nicht.

2020.08.21 05:33:46 3: EnOcean set flur_Dimmer dim
2020.08.21 05:34:53 3: EnOcean set flur_Dimmer off
2020.08.21 05:26:18 1: Including fhem.cfg
2020.08.21 05:26:18 3: telnetPort: port 7072 opened
2020.08.21 05:26:19 3: WEB: port 8083 opened


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

Ich war leider im GOOGLECAST Projekt für Monate gefangen ;) das hat mir paar Nerven gekostet...
Falls du testen willst: https://github.com/dominikkarall/fhem_pythonbinding

So ein Log hatte ich auch schon mal, ich glaub da ist noch beim Schreiben des Logs was im Cache und wird dann zu spät raus geschrieben.
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 21 August 2020, 22:47:11
Ich war leider im GOOGLECAST Projekt für Monate gefangen ;) das hat mir paar Nerven gekostet...
Falls du testen willst: https://github.com/dominikkarall/fhem_pythonbinding

So ein Log hatte ich auch schon mal, ich glaub da ist noch beim Schreiben des Logs was im Cache und wird dann zu spät raus geschrieben.
Eigentlich gerne, hab zur Zeit aber leider kein Testsystem am laufen.
Müsste ich erst wieder aufsetzen... Vielleicht komme ich mal dazu, wenn es wieder mehr Spaß macht, im, jetzt zu heißen, Arbeitszimmer zu sitzen :)

Hab schon gelesen, dass du da was auf den Markt geschmissen hast. Obwohl ich es nicht in Gänze verstehe. Heißt das eigentlich, dass jetzt alle anderen Modulersteller auch Python verwenden können?

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

Genau, man kann damit Module in Python schreiben und die ganzen Libraries nutzen die es da gibt. Ist noch alles im Teststatus, für GOOGLECAST funktioniert es schon sehr gut.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

juemuc

Zitat von: dominik am 21 August 2020, 17:28:54
Poste bitte ein jsonlist2 von diesem Device, dann kann ich das korrigieren.

Bei Verwendung von homebridgeMapping empfehle ich generell immer das JSON Format zu verwenden. Alle Beispiele hier https://wiki.fhem.de/wiki/Google_Assistant_FHEM_Connect#Konfiguration werde ich noch dahingehend anpassen.

Hallo Dominik,
anbei das jsonlist2 von einem "Rollo-Device":
{
  "Arg":"Rollo_Buero",
  "Results": [
  {
    "Name":"Rollo_Buero",
    "PossibleSets":"pct:0,25,50,75,100",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 disable disabledForIntervals readingList setExtensionsEvent:1,0 setList useSetExtensions event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading 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,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,securitysystem,settop,sensor,shutter,shower,smoke_detector,sousvide,sprinkler,standmixer,tv,vacuum,valve,washer,waterheater,waterpurifier,watersoftener,yogurtmaker homebridgeMapping:textField-long icon realRoom:textField sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "FUUID": "5ca8a643-f33f-ca7c-316a-4b986d7ffff4e837",
      "NAME": "Rollo_Buero",
      "NR": "218",
      "STATE": "pct 0",
      "STILLDONETIME": "0",
      "TYPE": "dummy"
    },
    "Readings": {
      "pct": { "Value":"0", "Time":"2020-08-22 13:51:30" },
      "state": { "Value":"pct 0", "Time":"2020-08-22 13:51:30" }
    },
    "Attributes": {
      "alexaName": "Rollo Büro",
      "alias": "Rollo Büro",
      "assistantName": "Rollo im Büro",
      "devStateIcon": "{my $state = ReadingsVal(\"HMIP_SWDO_0000DA498D425C\",\"state\",\" \");; if ($state eq \"open\") {\"pct.0:fts_roof_window_shutter_0\u005c@red pct.25:fts_roof_window_shutter_02\u005c@red pct.50:fts_roof_window_shutter_05\u005c@red pct.75:fts_roof_window_shutter_07\u005c@red pct.100:fts_roof_window_shutter_10\u005c@red pct.*:unknown\"} else {\"pct.0:fts_roof_window_shutter_0 pct.25:fts_roof_window_shutter_02 pct.50:fts_roof_window_shutter_05 pct.75:fts_roof_window_shutter_07 pct.100:fts_roof_window_shutter_10 pct.*:unknown\"}}",
      "genericDeviceType": "blind",
      "group": "HM Funkschalter",
      "homebridgeMapping": "clear CurrentPosition=pct,minValue=0,maxValue=100,minStep=25\nTargetPosition=pct,minValue=0,maxValue=100,minStep=25,cmd=pct\nOpenClose=state,cmdOpen=pct 0,cmdClose=pct 100",
      "icon": "it_remote@black",
      "oldreadings": "pct",
      "readingList": "state",
      "room": "Alexa,Büro,GoogleAssistant,Schaltzentrale",
      "setList": "pct:0,25,50,75,100",
      "sortby": "01",
      "userReadings": "pct {ReadingsNum($name,\"state\",\"0\")}",
      "webCmd": "pct",
      "webCmdLabel": "Prozent :"
    }
  }  ],
  "totalResultsReturned":1
}


Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

juemuc

Hallo Dominik,

und hier das jsonlist2 für einen Fensterkontakt:
{
  "Arg":"HM_Sec_SCo_OEQ0424862",
  "Results": [
  {
    "Name":"HM_Sec_SCo_OEQ0424862",
    "PossibleSets":"clear config defaults:noArg control datapoint rpcparameter devstate toggle:noArg 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 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,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,securitysystem,settop,sensor,shutter,shower,smoke_detector,sousvide,sprinkler,standmixer,tv,vacuum,valve,washer,waterheater,waterpurifier,watersoftener,yogurtmaker homebridgeMapping:textField-long icon realRoom:textField sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "DEF": "OEQ0424862",
      "FUUID": "5c435f29-f33f-4885-7d8d-a17f1fa9124f2ec5",
      "IODev": "HMCCU3",
      "NAME": "HM_Sec_SCo_OEQ0424862",
      "NR": "152",
      "STATE": "Status: closed / LastOpen: 22.08.2020 - 12:31:27 / LastClose: 22.08.2020 - 13:01:15",
      "TYPE": "HMCCUDEV",
      "ccuaddr": "OEQ0424862",
      "ccudevstate": "active",
      "ccuif": "BidCos-RF",
      "ccuname": "HM_Sec_SCo_OEQ0424862",
      "ccutype": "HM-Sec-SCo",
      "channels": "2",
      "firmware": "1.0",
      "statevals": "devstate"
    },
    "Readings": {
      "0.AES_KEY": { "Value":"off", "Time":"2020-08-20 23:43:10" },
      "0.CONFIG_PENDING": { "Value":"false", "Time":"2020-08-20 23:43:10" },
      "0.DEVICE_IN_BOOTLOADER": { "Value":"false", "Time":"2020-08-20 23:43:10" },
      "0.RSSI_DEVICE": { "Value":"1", "Time":"2020-08-20 23:43:10" },
      "0.RSSI_PEER": { "Value":"1", "Time":"2020-08-20 23:43:10" },
      "0.STICKY_UNREACH": { "Value":"1", "Time":"2020-08-22 03:02:26" },
      "0.UPDATE_PENDING": { "Value":"false", "Time":"2020-08-20 23:43:10" },
      "1.ERROR": { "Value":"0", "Time":"2020-08-22 15:29:12" },
      "1.STATE": { "Value":"closed", "Time":"2020-08-22 15:29:12" },
      "LastClose": { "Value":"22.08.2020 - 13:01:15", "Time":"2020-08-22 13:01:15" },
      "LastOpen": { "Value":"22.08.2020 - 12:31:27", "Time":"2020-08-22 13:01:15" },
      "R-CYCLIC_INFO_MSG": { "Value":"1", "Time":"2020-07-01 23:03:18" },
      "R-LOCAL_RESET_DISABLE": { "Value":"0", "Time":"2020-07-01 23:03:18" },
      "R-SABOTAGE_MSG": { "Value":"1", "Time":"2020-07-01 23:03:18" },
      "R-TRANSMIT_DEV_TRY_MAX": { "Value":"6", "Time":"2020-07-01 23:03:18" },
      "activity": { "Value":"alive", "Time":"2020-08-22 07:55:17" },
      "battery": { "Value":"ok", "Time":"2020-08-22 15:29:12" },
      "control": { "Value":"closed", "Time":"2020-08-22 15:29:12" },
      "hmstate": { "Value":"closed", "Time":"2020-08-22 15:29:12" },
      "state": { "Value":"closed", "Time":"2020-08-22 15:29:12" }
    },
    "Attributes": {
      "IODev": "HMCCU3",
      "alexaName": "Küchenfenster",
      "alias": "Küchenfenster",
      "devStateStyle": "style=\"text-align:right\"",
      "event-min-interval": "battery:3600",
      "event-on-change-reading": ".*",
      "genericDeviceType": "contact",
      "group": "HM Fenster-/Türkontakte",
      "hmstatevals": "ERROR!7:sabotage;SABOTAGE!1:sabotage",
      "homebridgeMapping": "ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED",
      "icon": "hm-sec-win@black",
      "stateFormat": "{\"Status: \".ReadingsVal($name,\"state\" ,\"\").\" / LastOpen: \".ReadingsVal(\"HMCCU3\",\"Fenster_Kueche_auf\",\"\").\" / LastClose: \".ReadingsVal(\"HMCCU3\",\"Fenster_Kueche_zu\",\"\")}",
      "statedatapoint": "1.STATE",
      "substitute": "STATE!(0|false):closed,(1|true):open",
      "userReadings": "LastOpen:hmstate.* {ReadingsVal(\"HMCCU3\",\"Fenster_Kueche_auf\",\"\")},LastClose:hmstate.* {ReadingsVal(\"HMCCU3\",\"Fenster_Kueche_zu\",\"\")}"
    }
  }  ],
  "totalResultsReturned":1
}


Bei Bedarf kann ich auch noch das List für einen HM-IP-Kontaktsenso senden.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

RomanB

Zitat von: dominik am 21 August 2020, 17:40:35
Cook ist noch nicht implementiert. Nachdem ich uebernaechste Woche wieder etwas Zeit fuer gassistant habe, werde ich noch die restlichen Traits (vor allem Channel duerfte fuer viele interessant sein) implementieren.

Das wäre mega! :-) Dank dir!

SirMarvin

Hallo,

nach dem ich die Google Home Verbindung danke des Wikis 10 Minuten durch hatte und dann die meine LaCrosse Sensoren (und eine Zwave Steckdose) in den "GoogleAssistant" Raum geschoben hatte, ging es auf wirklich fix, Temperatur abzufragen oder die zwave Steckdose per Google Home (Sprache) zu steuern.

Jetzt bekomme ich nur bei dem Thermostaten, immer noch vorgelesen, dass diese "aus" sind.
Wie so jedes Thermostat, koennen die Dinger ja nicht ein oder ausgeschatlet werden, es ist ja keine Klima oder Heizungs-Geraet, wie bekomme ich das weg?

Nach viel Googlen und lesen wie z.B. hier: https://www.reddit.com/r/GoogleAssistantDev/comments/guzp4p/cant_query_trait_of_actiondevicestraitssensorstate/ habe ich keine Loesung gefunden.

Im Grunde, muss ich ja Google nur den "trait" onoff abgewoehnen - fuer die Theromstate, oder:

action.devices.traits.OnOff

weder in Fhem (Raum "GoogleAssistant" ) noch im google home habe ich jedoch dafuer die moeglichkeit gefunden - das das wer shcon gehabt, wie kann mans Loesen ?  ::) 8)

RomanB

Versuche mal mit dem Homebridge Mapping den Trait manuell zu definieren udn so irgendwie zu überschreiben. K.A. ob das geht, aber das wäre vielleicht ein Ansatz.

SirMarvin

#2097
Hallo, das koennte gehen, so kann ich ihn das trait abgewoehnen / aber WO ist das mapping...?

RomanB

Im Device gibt es das Attribut "homebridgeMapping".
Hier habe ich z.B. bei einem Device folgendes stehen:
{
  "On": {
    "reading": "desired_mode",
    "valueOff": "OFF",
    "cmdOn": "desired_mode FAN",
    "cmdOff": "desired_mode OFF",
    "delayAfter": true
  }
}


Aber wie gesagt, das ist ja der gegenteilige Fall. Ich habe das OnOff-Trait benötigt. Aber vielleicht kann man hier mit "ungültigen" Werten tricksen.
Weitere Infos gibt es hier: https://wiki.fhem.de/wiki/Google_Assistant_FHEM_Connect#Konfiguration

SirMarvin

#2099
Zitat von: RomanB am 23 August 2020, 15:28:36
Im Device gibt es das Attribut "homebridgeMapping".
Hier habe ich z.B. bei einem Device folgendes stehen:
{
  "On": {
    "reading": "desired_mode",
    "valueOff": "OFF",
    "cmdOn": "desired_mode FAN",
    "cmdOff": "desired_mode OFF",
    "delayAfter": true
  }
}


Aber wie gesagt, das ist ja der gegenteilige Fall. Ich habe das OnOff-Trait benötigt. Aber vielleicht kann man hier mit "ungültigen" Werten tricksen.
Weitere Infos gibt es hier: https://wiki.fhem.de/wiki/Google_Assistant_FHEM_Connect#Konfiguration

Hi, in welcher Datei soll das tweaken denn geschehen?
Weder die Defintion vom Geraet noch /opt/fhem/gassistant-fhem.cfg
geben aktuell sowas her...