39_gassistant.pm (Google Assistant, Google Home)

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

Vorheriges Thema - Nächstes Thema

dominik

Zitat von: R1k4rd am 27 März 2020, 19:48:12
Hey, vielen Dank für die Integration!

Also ab wann er kritisch ist kann ich dir leider nicht genau sagen, habe ich noch nie drauf geachtet als die Batterien leer waren. Aus dem Grund hab ich ein wenig recherchiert, laut Internet ist es bei diesem Thermostat kritisch zwischen etwa 2,0-2,5V. Erste "Aussetzer" sind laut Internet ab 2,4V spürbar. Laut meinem Batteriemesser sollte es allerdings bei etwa 2,0-2,2V kritisch sein in der Hinsicht, dass man die Batterie wirklich wechseln sollte/müsste. Ich würde jetzt einfach mal 2,2V sagen :D
Erledigt. <=2,2V kritisch, <=2.4V niedrig, alles darueber vorerst voll

Zitat
das Reading control liefert wirklich nur Zahlen von 0-30,5 dabei ist  das Thermostat bei 0=off und bei 30,5=on, steht aber nicht so im Reading control
das Reading state liefert auch Zahlen, allerdings wird bei dem Reading dann anstelle 0 -> off und bei 30,5 -> on als Reading ausgeliefert
Ok, off mache ich nun anhand der Temperatur ausfindig. Wenn 0, dann OFF.

Zitat
das Reading 4.BOOST_STATE was 0 || 1 sein kann ändert sich garnicht, solltest du also auch nicht für die Integration nutzen da es scheinbar nicht funktioniert
das Reading 4.CONTROL_MODE hingegen kann folgende Strings enthalten: MANU || AUTO || BOOST -> sollte also für den Modus genutzt werden
Boost kennt Google leider nicht als Modus.
Google kann nur Automatisch, Heizen, Off. Leider ist bei Automatisch dann auch keine Temperaturregelung moeglich. Das kann ich leider nicht beeinflussen.

Zitat
Folgende Sprachbefehle sollten nun funktionieren:
- Stelle ... auf 22 Grad. -> funktioniert, allerdings wäre alles über 30,5 sinnlos da das Thermostat ab dann nur noch auf On wechselt, falls begrenzbar könnte man das machen
Korrigiert, min=0,5, max=30,5. Ich habe das bislang noch nicht getestet ob Google das selbst verarbeitet und nun eine Fehlermeldung ausgibt. Bitte um kurze Info dazu ob das funktioniert.
Zitat
- Stelle ... auf heizen/auto/aus/ein -> auto und aus funktioniert, "Stelle auf manu/manuell funktioniert nicht? bzw. gibt es nicht? Wenn ich sage stelle auf heizen kommt manchmal das er auf 20° stellt (was dem Manu Modus entspricht?) oder das er auf On (30,5°) stellt, wie und warum er da unterschiedlich schaltet weiß ich nicht. Wenn ich "schalte Heizung auf ein" sage stellt er meist auf 1°.. und bei schalte auf an stellt er immer wie gewünscht auf on.
"Stelle auf heizen" muss man fuer den manuellen Modus sagen. Leider kennt Google kein manuell. Kannst du bitte im Log schauen was fuer ein EXECUTE geschickt wird wenn du ein/aus sagst? Weil das mit 1Grad wirkt eigenartig, ich habe niergends 1Grad definiert. Bei "stelle auf heizen" schicke ich nur ein "set.....Manu".
Zitat
- Schalte ... boost ein -> funktioniert
- Auf wie viel Grad steht ... eingestellte und gemessene Temperatur funktionieren und werden richtig angesagt/ in App angezeigt
App habe ich noch nicht ganz testen können, Temperatur einstellen geht, sobald ich den Modus ändere kann ich allerdings keine Temperatur mehr ändern? Und wenn ich die Temperatur auf irgendwas < 10° stelle und das Gerät in der App öffne schmiert mir die Google Home App ab weil sie keine Werte unter 10° darstellen kann?
Bitte bei Google ueber die Feedback Funktion in der Home App zurueck melden.

Falls etwas nicht funktioniert oder du noch Anmerkungen dazu hast, gerne melden.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

@Richard, Ventilator sollte nun auch funktionieren :)

- Schalte den Ventilator ein/aus
- Stelle den Ventilator Modus auf natuerlich/normal (bin mir noch nicht sicher ob das funktioniert, eventuell brauchen wir da noch ein Wort wie Luftstrom/Geschwindigkeit oder aehnliches)
- Stelle die LED von Ventilator auf hell/gedimmt/aus
- Stelle die Neigung von Ventilator auf 30/60/90/120 Grad
- Stelle den Ventilator auf sehr schwach/schwach/mittel/stark/sehr stark
- Schalte die Neigung von Ventilator ein/aus (hier bin ich mir auch noch  nicht sicher ob es Google richtig verarbeitet, da wir das Wort Neigung schon oben bei den Gradangaben verwenden, eventuell brauchen wir hier ein anderes Wort)
- Schalte die Kindersicherung von Ventilator ein/aus
- Schalte den Buzzer von Ventilator ein/aus

Bin gespannt ob Google das alles richtig verarbeitet und die vielen Modes funktionieren, so viele Modes hatte ich noch bei keinem Device. Es kann also durchaus sein, dass diese im Moment nicht funktionieren. Meine Xiaomi Vacuum Modes will Google im Moment auch nicht verarbeiten.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: SouzA am 27 März 2020, 22:45:56
Really?

Internals:
   CHANGED   
   DEF        group 4  IODev=HUEBridge
   FUUID      5e5566e9-f33f-7c83-27a2-13a32991cc8bfe6f
   FVERSION   31_HUEDevice.pm:0.213650/2020-03-06
   ID         G4
   INTERVAL   
   IODev      HUEBridge
   NAME       HUEGroup4
   NR         606
   STATE      off
   TYPE       HUEDevice
   class      Closet
   desired    0
   lights     6,13
   name       Schrankbeleuchtung Farbe
   type       Zone
   READINGS:
     2020-03-27 22:00:27   alert           select
     2020-03-27 22:00:27   all_on          0
     2020-03-27 22:00:27   any_on          0
     2020-03-27 22:00:28   bri             254
     2020-03-27 22:00:28   colormode       xy
     2020-03-27 22:00:28   ct              171 (5847K)
     2020-03-27 22:00:28   effect          none
     2020-03-27 22:00:28   hue             0
     2020-03-27 22:00:28   onoff           0
     2020-03-27 22:00:28   pct             0
     2020-03-27 22:00:28   reachable       1
     2020-03-27 22:00:28   rgb             ed0303
     2020-03-27 22:00:28   sat             254
     2020-03-27 22:00:28   state           off
     2020-03-27 22:00:28   xy              0.7197,0.2796
   helper:
     devtype    G
     update_timeout 1
     json:
       class      Closet
       name       Schrankbeleuchtung Farbe
       type       Zone
       action:
         alert      select
         bri        254
         colormode  xy
         ct         171
         effect     none
         hue        0
         sat        254
         xy:
           0.7197
           0.2796
       lights:
         13
         6
       sensors:
       state:
     lights:
       13         1
       6          1
Attributes:
   IODev      HUEBridge
   alias      Group Schrankbeleuchtung Farbe
   color-icons 2
   delayedUpdate 1
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   gassistantName Schrankbeleuchtung Farbe
   group      HUEGroup
   realRoom   Küche
   room       GoogleHome,HUEBridge,Küche
   userattr   createActionReadings:1,0 createGroupReadings:1,0 lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0


Das Device sieht eigentlich gut aus. Ich habe gerade in Update gemacht, wo in der Fehlermeldung nun auch das Device enthalten sein sollte. Lass mich dann bitte wissen welches es bei dir ist.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

thorte

Zitat von: dominik am 22 März 2020, 14:01:28
Es gibt noch viele User die laufend Fehler generieren (ca. 600 pro Stunde!), bitte prueft eure gassistant-fhem-lastServerError Readings. Gerne unterstuetze ich wenn ihr Fragen habt um die Fehler zu beheben.

Hallo Dominik,

im Großen und Ganzen läuft Dein Modul bei mir super, allerdings erhalten ich bei meine KNX-Geräten noch einen Fehler:

Reading:
L.KiJM.Decke:TypeError: value.split is not a function

Log:
[28.3.2020, 15:50:20] GOOGLE MSG RECEIVED: {"log":"L.KiJM.Decke:TypeError: value.split is not a function","msg":"LOG_ERROR","ts":1585407020209}
[28.3.2020, 15:50:20] Received firestore2fhem: {"log":"L.KiJM.Decke:TypeError: value.split is not a function","msg":"LOG_ERROR","ts":1585407020209}
[28.3.2020, 15:50:20] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=setreading%20gassistant%20gassistant-fhem-lastServerError%20L.KiJM.Decke%3ATypeError%3A%20value.split%20is%20not%20a%20function&fwcsrf=493121805345773&XHR=1


jsonlist2:
{
  "Arg":"L.KiJM.Decke",
  "Results": [
  {
    "Name":"L.KiJM.Decke",
    "PossibleSets":"schalten:off,on dimmen:up,down dimmwert:slider,0,1,100 schalten_status:off,on",
    "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 showtime:1,0 answerReading:1,0 stateRegex:textField-long stateCmd:textField-long putCmd:textField-long format listenonly:1,0 readonly:1,0 slider useSetExtensions:1,0 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 assistantName:textField cmdIcon devStateIcon:textField-long devStateStyle gassistantName:textField genericDeviceType:switch,outlet,light,thermostat,aircondition,airfreshener,airpurifier,blinds,camera,coffeemaker,dishwasher,dryer,fan,fireplace,heater,kettle,oven,refrigerator,scene,sprinkler,vacuum,washer,awning,boiler,curtain,door,garage,gate,hood,lock,microwave,pregola,securitysystem,shutter,shower,valve,waterheater,window,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 homebridgeMapping:textField-long icon realRoom:textField realtimePicker sortby webCmd webCmdLabel:textField-long widgetOverride str_Licht str_Licht_map structexclude userattr",
    "Internals": {
      "DEF": "8/0/2:dpt1.001:schalten 8/0/5:dpt1.001:schalten_status 8/0/4:dpt5.001:dimmwert 8/0/6:dpt5.001:dimmwert_status:get 8/0/3:dpt1.008:dimmen",
      "DEVNAME": "L.KiJM.Decke",
      "FIRSTGADNAME": "schalten",
      "FUUID": "5c54a1e1-f33f-4189-c716-fd957ac6f4f45f92",
      "GETSTRING": "schalten:noArg dimmwert_status:noArg dimmen:noArg dimmwert:noArg schalten_status:noArg",
      "NAME": "L.KiJM.Decke",
      "NR": "180",
      "NTFY_ORDER": "50-L.KiJM.Decke",
      "SETSTRING": "schalten:off,on dimmen:up,down dimmwert:slider,0,1,100 schalten_status:off,on",
      "STATE": "off",
      "TYPE": "KNX"
    },
    "Readings": {
      "dimmen-get": { "Value":"up", "Time":"2020-03-28 15:25:37" },
      "dimmen-set": { "Value":"down", "Time":"2020-03-28 15:25:37" },
      "dimmwert": { "Value":"0", "Time":"2020-03-28 15:25:37" },
      "dimmwert-set": { "Value":"3 %", "Time":"2020-03-28 15:25:37" },
      "dimmwert_status-get": { "Value":"0 %", "Time":"2020-03-28 15:25:37" },
      "last-sender": { "Value":"fhem", "Time":"2020-03-28 15:50:31" },
      "schalten": { "Value":"off", "Time":"2020-03-28 15:50:31" },
      "schalten-get": { "Value":"on", "Time":"2020-03-28 15:25:37" },
      "schalten-set": { "Value":"off", "Time":"2020-03-28 15:50:31" },
      "schalten_status-get": { "Value":"off", "Time":"2020-03-28 15:25:37" },
      "schalten_status-set": { "Value":"off", "Time":"2020-03-28 15:25:37" },
      "state": { "Value":"off", "Time":"2020-03-28 15:50:31" }
    },
    "Attributes": {
      "IODev": "KNX",
      "gassistantName": "Deckenlicht Jungs",
      "genericDeviceType": "light",
      "group": "Licht",
      "homebridgeMapping": "{\n  \"Brightness\":{\n    \"reading\": \"dimmwert\",\n    \"cmd\": \"dimmwert\"\n  }, \n  \"On\":{\n     \"reading\": \"schalten\",\n     \"valueOff\": \"off\",\n     \"cmdOn\": \"schalten on\",\n     \"cmdOff\": \"schalten off\",\n   }\n}",
      "realRoom": "Zimmer Jungs",
      "room": "JJ/Mailo,gHome->thorsten",
      "stateCmd": "{ReadingsVal($name,\"schalten\",\"off\")}",
      "stateFormat": "{ReadingsVal($name,\"schalten\",\"off\")}",
      "str_Licht": "str.L.WHG",
      "str_Licht_map": "/schalten:on:on/schalten:off:off/",
      "userReadings": "schalten:schalten.* { $event=~ m/(on|off)/;; return $1 },\ndimmwert:dimmwert.* { $event=~ m/([0-9]{1,3})/;; return $1 }",
      "userattr": "str_Licht str_Licht_map structexclude"
    }
  }  ],
  "totalResultsReturned":1
}


Mit dem Hombrige-Mapping habe ich schon experimentiert, komme aber nicht weiter. Was kann ich noch tun?

Gruß Thorsten

R1k4rd

Hey Dominik,

vielen Dank für deine Arbeit, ich hab das Ganze mal ein wenig getestet:

- Schalte den Ventilator ein/aus -> funktioniert per Sprache + App
- Stelle den Ventilator Modus auf natuerlich/normal -> funktioniert super, einfach "Stelle den Ventilator auf normal/natürlich" Würde ich gerne so lassen wie es ist!
- Stelle den Ventilator auf sehr schwach/schwach/mittel/stark/sehr stark -> funktioniert

Zitat- Stelle die Neigung von Ventilator auf 30/60/90/120 Grad
- Schalte die Neigung von Ventilator ein/aus (hier bin ich mir auch noch  nicht sicher ob es Google richtig verarbeitet, da wir das Wort Neigung schon oben bei den Gradangaben verwenden, eventuell brauchen wir hier ein anderes Wort)
-> Google weiß nicht wie er/sie da helfen kann, konnte ich leider nicht weiter testen. Ich würde das auch eher Drehung anstelle von Neigung nennen.
Also z.B. "Schalte/Stelle die Drehung des Ventilator auf 30/60/90/120 Grad" und "Schalte/Stelle die Drehung des Ventilators ein/aus". An der Stelle noch eine kleine Frage, macht schalte bzw. stelle einen Unterschied für Google?

Zitat- Schalte die Kindersicherung von Ventilator ein/aus
- Schalte den Buzzer von Ventilator ein/aus
- Stelle die LED von Ventilator auf hell/gedimmt/aus
-> funktioniert alles nicht, ist aus meiner Sicht aber auch nicht nötig, für diese Einstellungen nehme ich eigentlich sowieso lieber ein grafisches UI bzw. es sind aus meiner Sicht Einstellungen die man viel zu selten vornimmt, somit müssten sie nicht mit dem Sprachassistenten machbar sein würde ich denken. Ich finde solche Kleinigkeiten machen es dir nur unnötig schwer, wenn es dich nicht stört könntest du sie von mir aus gerne einfach wieder entfernen bzw. weg lassen falls dies möglich ist.

Liebe Grüße Richard

CoolTux

Hallo Dominik,

Ich habe heute ein seltsames Verhalten bemerkt.

Internals:
   FD         24
   FUUID      5c51aed0-f33f-fc06-6b26-b92043853a164c3c
   LAST_START 2020-03-28 19:27:53
   NAME       gassistant
   NOTIFYDEV  global,global:npmjs.*gassistant-fhem.*
   NR         487
   NTFY_ORDER 50-gassistant
   PID        764771
   STARTS     1
   STATE      running /usr/bin/gassistant-fhem
   TYPE       gassistant
   currentlogfile ./log/gassistant-2020-03.log
   logfile    ./log/gassistant-%Y-%m.log
   CoProcess:
     cmdFn      gassistant_getCMD
     name       gassistant-fhem
     state      running /usr/bin/gassistant-fhem
   READINGS:
     2020-03-28 19:27:53   gassistant-fhem running /usr/bin/gassistant-fhem
     2020-03-28 19:28:00   gassistant-fhem-connection connected
     2020-03-28 19:12:50   gassistant-fhem-googleSync Google SYNC finished
     2020-03-28 19:30:07   gassistant-fhem-lastServerError Command action.devices.commands.StartStop not configured for device LichtSchalterBadDeckenLampe_Sw
     2020-03-28 19:28:00   gassistant-fhem-lasterror none
     2020-03-28 19:27:59   gassistant-fhem-localHome inactive
     2020-03-28 19:12:50   gassistant-fhem-usedFeatureLevel 3
     2020-03-28 19:27:56   gassistant-fhem-version 3.0.0
     2020-03-28 19:27:56   gassistant-fhem-versionAvailable 3.0.0
     2020-03-28 19:27:56   gassistantFHEM.loginURL <html><a href="https://fhemconnector.eu.auth0.com/authorize?audience=https://europe-west1-fhem-ga-connector.cloudfunctions.net/&scope=offline_access%20openid%20profile&response_type=code&client_id=EI0TI2Y0W1743Ico53Nvsg1FsmoZniCC&code_challenge=WWenwiKuP7WidabIQbkbyYgsHXfNreOsnuzNiQyj2rw&code_challenge_method=S256&redirect_uri=https://europe-west1-fhem-ga-connector.cloudfunctions.net/codelanding/start" target="_blank">Click here to login (new window/tab)</a><br></html>
     2019-08-30 11:28:37   gassistantFHEM.refreshToken crypt:0e07022a320f5d625165041268680c605e7f54590c43410c66305d51647d71741b630a250215706a1276531b04
Attributes:
   devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
   gassistantFHEM-config ./gassistant-fhem.cfg
   gassistantFHEM-log ./log/gassistant-%Y-%m.log
   group      Sprachsteuerung
   room       EDV
   stateFormat gassistant-fhem



Internals:
   DEF        33EA4F
   FUUID      5c485fa4-f33f-fc06-dcfa-f5a4117cc7db0a63
   HmUART1_MSGCNT 2
   HmUART1_RAWMSG 0403003949800233EA4F2AEE700101C8003E
   HmUART1_RSSI -57
   HmUART1_TIME 2020-03-28 19:30:17
   IODev      HmUART1
   LASTInputDev HmUART1
   MSGCNT     2
   NAME       LichtSchalterBadDeckenLampe_Sw
   NOTIFYDEV  global
   NR         154
   NTFY_ORDER 50-LichtSchalterBadDeckenLampe_Sw
   STATE      on
   TYPE       CUL_HM
   chanNo     01
   lastMsg    No:49 - t:02 s:33EA4F d:2AEE70 0101C8003E
   peerList   LichtSchalterAnnaBett_Btn1,LichtSchalterAnnaBett_Btn2,
   protLastRcv 2020-03-28 19:30:17
   protRcv    2 last_at:2020-03-28 19:30:17
   protSnd    3 last_at:2020-03-28 19:30:16
   protState  CMDs_done
   rssi_HmUART1 cnt:2 min:-62 max:-60 avg:-61 lst:-62
   rssi_at_HmUART1 cnt:2 min:-57 max:-56 avg:-56.5 lst:-57
   Helper:
     DBLOG:
       state:
         logDbCurrent:
           TIME       1585420217.14868
           VALUE      on
   READINGS:
     2020-03-28 19:30:17   CommandAccepted yes
     2016-06-20 17:51:37   D-firmware      2.3
     2016-06-20 17:51:37   D-serialNr      LEQ1311026
     2019-05-02 15:24:30   PairedTo        0x2AEE70
     2020-03-28 19:30:17   deviceMsg       on (to VCCU1)
     2020-03-28 19:30:17   level           100
     2020-03-28 19:30:17   pct             100
     2020-03-28 19:27:51   peerList        LichtSchalterAnnaBett_Btn1,LichtSchalterAnnaBett_Btn2,
     2019-05-02 15:24:29   powerOn         2019-05-02 15:24:28
     2020-03-28 19:30:17   recentStateType ack
     2020-03-28 19:30:17   state           on
     2020-03-28 19:30:17   timedOn         off
     2020-03-22 18:40:35   trigLast        LichtSchalterAnnaBett_Btn2:short
     2020-03-21 22:08:52   trig_LichtSchalterAnnaBett_Btn1 Short_224
     2020-03-22 18:40:35   trig_LichtSchalterAnnaBett_Btn2 Short_215
   helper:
     HM_CMDNR   73
     cSnd       012AEE7033EA4F010E,112AEE7033EA4F0201C80000
     dlvlCmd    ++A0112AEE7033EA4F0201C80000
     mId        0069
     peerFriend peerSens,peerVirt
     peerOpt    3:switch
     regLst     0,1,3p
     rxType     1
     supp_Pair_Rep 0
     expert:
       def        1
       det        1
       raw        0
       tpl        0
     io:
       newChn     +33EA4F,00,01,00
       nextSend   1585420217.24376
       rxt        0
       vccu       VCCU1
       p:
         33EA4F
         00
         01
         00
       prefIO:
         HmUART1
     mRssi:
       mNo        49
       io:
         HmUART1:
           -51
           -51
     prt:
       bErr       0
       sProc      0
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       prs        1
     rssi:
       HmUART1:
         avg        -61
         cnt        2
         lst        -62
         max        -60
         min        -62
       at_HmUART1:
         avg        -56.5
         cnt        2
         lst        -57
         max        -56
         min        -57
     shadowReg:
     tmpl:
Attributes:
   IODev      HmUART1



Der Google Home befindet sich im Badezimmer ist also auch dem Badezimmer als Raum zugewiesen.

Wenn ich sage "Ok Google schalte die Deckenlampe im Badezimmer ein" sagt er das die Deckenlampe das aktuell nicht unterstützt
Sage ich aber "Ok Google schalte die Deckenlampe ein" dann klappt es.
Aus schalten geht im übrigen mit beiden möglichen Befehlskombinationen.


Wenn die Meldung kommt "Die Deckenlampe unterstützt das aktuell nicht" dann habe ich im gassistant Device folgende Meldung

gassistant-fhem-lastServerError Command action.devices.commands.StartStop not configured for device LichtSchalterBadDeckenLampe_Sw




Hast Du da eine Idee?

Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dominik

@thorte, ich schau mir das an und melde mich dann.

@Richard, danke fuer die Rueckmeldung! Das mit der Neigung korrigiere ich noch, ich dachte es ist die Neigung nach unten und oben. Die anderen Einstellungen werde ich dennoch implementieren, wenn die Moeglichkeit schon besteht, moechte ich es auch drin haben :)

@CoolTux, da duerfte generell gerade ein Problem bei Google vorliegen. User a_quadrat hat mir gleiches berichtet und wir haben schon alles moegliche versucht um es zu beheben, leider bislang ohne Erfolg. Ich habe soeben bei Google einen Bug dazu aufgemacht. Mich wuerde noch interessieren ob das nach einem erneuten SYNC aufgetreten ist, oder schon davor?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

CoolTux

Zitat von: dominik am 28 März 2020, 19:51:45
@CoolTux, da duerfte generell gerade ein Problem bei Google vorliegen. User a_quadrat hat mir gleiches berichtet und wir haben schon alles moegliche versucht um es zu beheben, leider bislang ohne Erfolg. Ich habe soeben bei Google einen Bug dazu aufgemacht. Mich wuerde noch interessieren ob das nach einem erneuten SYNC aufgetreten ist, oder schon davor?

Das kann ich Dir leider nicht sagen. Ein Sync selbst habe ich nicht angestoßen und ich weiß auch nicht wann es genau aufgekommen ist. Leider.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dominik

@CoolTux, ok, dann warten wir mal auf die Antwort von Google.

@thorte, ich hatte schon mal KNX direkt integriert, so dass kein homebridgeMapping notwendig ist, das duerfte jedoch bei dir nicht funktionieren. Ein paar Fragen dazu:
- 8/0/2:dpt1.001:schalten 8/0/5:dpt1.001:schalten_status 8/0/4:dpt5.001:dimmwert 8/0/6:dpt5.001:dimmwert_status:get 8/0/3:dpt1.008:dimmen
Was ist der Unterschied zwischen dpt5.001 und dpt1.008? Ich hatte damals naemlich dpt1.008 (dimmen up/down) ebenfalls fuer on/off integriert, ist das richtig?

- Sind die Readings Standard oder von dir konfiguriert?
Laut Standard (meiner damaligen Implementierung) beinhaltet state immer on/off bzw. 0-100 % als Dimmwert. Du nutzt jedoch ein stateFormat was das wahrscheinlich ueberschreibt, probier es bitte mal ohne stateFormat.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

@Richard
Zitat- Stelle die Drehung von Ventilator auf 30/60/90/120 Grad
- Schalte die Drehung von Ventilator ein/aus (hier bin ich mir auch noch  nicht sicher ob es Google richtig verarbeitet, da wir das Wort Neigung schon oben bei den Gradangaben verwenden, eventuell brauchen wir hier ein anderes Wort)
Bitte nach einem reload das noch zu probieren. Kannst du mir sagen was das macht? Stelle das die maximale Drehung (links/rechts) des Ventilators ein? Und ausschalten bedeutet, er dreht sich nicht mehr?

Zitat- Schalte die Kindersicherung von Ventilator ein/aus
- Schalte den Buzzer von Ventilator ein/aus
- Stelle die Beleuchtung von Ventilator auf hell/gedimmt/aus
Bitte diese 3 dann auch nochmals testen, die wurden leider nicht verarbeitet.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

R1k4rd

Hey,

es funktioniert leider immer noch nichts außer das was ich vorher schon ging also on/off, Geschwindigkeit und Modus (Normal/Natürlich). Google sagt weiterhin er/sie könnte nicht helfen bzw. versteht es nicht so ganz.
ZitatBitte nach einem reload das noch zu probieren. Kannst du mir sagen was das macht? Stelle das die maximale Drehung (links/rechts) des Ventilators ein? Und ausschalten bedeutet, er dreht sich nicht mehr?
angle_enable on/off bzw. Drehung an/aus macht einfach die Drehung wieder an die zuletzt am Gerät eingestellt war also z.B. 60°, bei off hört er einfach, an der Stelle wo er ist, auf zu drehen.

Zitat- Schalte den Buzzer von Ventilator ein/aus
Wenn du das mit aufnimmst, könnte man aus Buzzer noch Ton machen? Also -> "Schalte den Ton von Ventilator ein/aus"

Wenn du irgendwelche Logs oder so brauchst einfach kurz sagen welche und vllt. kurz beschreiben wie/wo ich diese finden kann!

Liebe Grüße Richard

dominik

Zitat- Schalte die Kindersicherung von Ventilator ein/aus
- Schalte den Ton von Ventilator ein/aus
- Schalte die Drehung von Ventilator ein/aus
So, die 3 sollten nun gehen, hatte noch einen Tippfehler, deswegen wurden die garnicht verarbeitet.

Warum die Drehung in Grad und die Beleuchtung noch nicht geht, muss ich mir noch genauer anschauen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

R1k4rd

#1647
Zitat- Schalte die Kindersicherung von Ventilator ein/aus
- Schalte den Ton von Ventilator ein/aus
-> funktioniert jetzt

Zitat- Schalte die Drehung von Ventilator ein/aus
-> geht leider immer noch nicht.

ZitatWarum die Drehung in Grad und die Beleuchtung noch nicht geht, muss ich mir noch genauer anschauen.
Hast du es jetzt als Beleuchtung oder als LED implementiert? also:
"Stelle die LED von Ventilator auf hell/gedimmt/aus"
oder
"Stelle die Beleuchtung von Ventilator auf hell/gedimmt/aus"

Liebe Grüße Richard


EDIT:

Achso bei Buzzer bzw. Ton wie gesagt es funktioniert allerdings übergibst du on/off, das Modul braucht aber 1 für on und 0 für off, das hatte ich jetzt noch vergessen, aber wie gesagt ansonsten funktioniert es!

SouzA

Zitat von: dominik am 28 März 2020, 09:55:33
Das Device sieht eigentlich gut aus. Ich habe gerade in Update gemacht, wo in der Fehlermeldung nun auch das Device enthalten sein sollte. Lass mich dann bitte wissen welches es bei dir ist.
Vielleicht hätte ich bei allen Groups gucken sollen...

Internals:
   CHANGED   
   DEF        group 6  IODev=HUEBridge
   FUUID      5e556e5c-f33f-7c83-d555-73678efcd246db04
   FVERSION   31_HUEDevice.pm:0.213650/2020-03-06
   ID         G6
   INTERVAL   
   IODev      HUEBridge
   NAME       HUEGroup6
   NR         607
   STATE      off
   TYPE       HUEDevice
   class      Downstairs
   desired    0
   lights     7,14
   name       Schrankbeleuchtung Weiss
   type       Zone
   READINGS:
     2020-03-29 08:59:16   alert           select
     2020-03-29 08:59:16   all_on          0
     2020-03-29 08:59:16   any_on          0
     2020-03-29 08:59:16   bri             90
     2020-03-29 08:59:16   onoff           0
     2020-03-29 08:59:16   pct             0
     2020-03-29 08:59:16   reachable       1
     2020-03-29 08:59:16   state           off
   helper:
     devtype    G
     update_timeout 1
     json:
       class      Downstairs
       name       Schrankbeleuchtung Weiss
       type       Zone
       action:
         alert      select
         bri        90
       lights:
         14
         7
       sensors:
       state:
     lights:
       14         1
       7          1
Attributes:
   IODev      HUEBridge
   alias      Group Schrankbeleuchtung Weiss
   color-icons 2
   delayedUpdate 1
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   gassistantName Schrankbeleuchtung Weiss
   group      HUEGroup
   realRoom   Küche
   room       GoogleHome,HUEBridge,Küche
   userattr   createActionReadings:1,0 createGroupReadings:1,0 lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0


Is klar, dass es da kein RGB gibt.. is ja nur weiß.

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

thorte

Zitat von: dominik am 28 März 2020, 20:31:11
@thorte, ich hatte schon mal KNX direkt integriert, so dass kein homebridgeMapping notwendig ist, das duerfte jedoch bei dir nicht funktionieren. Ein paar Fragen dazu:
- 8/0/2:dpt1.001:schalten 8/0/5:dpt1.001:schalten_status 8/0/4:dpt5.001:dimmwert 8/0/6:dpt5.001:dimmwert_status:get 8/0/3:dpt1.008:dimmen
Was ist der Unterschied zwischen dpt5.001 und dpt1.008? Ich hatte damals naemlich dpt1.008 (dimmen up/down) ebenfalls fuer on/off integriert, ist das richtig?

- Sind die Readings Standard oder von dir konfiguriert?
Laut Standard (meiner damaligen Implementierung) beinhaltet state immer on/off bzw. 0-100 % als Dimmwert. Du nutzt jedoch ein stateFormat was das wahrscheinlich ueberschreibt, probier es bitte mal ohne stateFormat.

Hallo Dominik,

ich versuche es mal mit meinem KNX-(Halb)-Wissen:

  • dpt1 kennt zwei Zustände: dpt1.001 wird für ein/aus genutzt, dpt1.008 up/down
  • dpt5.001 liefert den Dimmwert, bei mir in Prozent, die weiteren DPT haben damit vermutlich ebenfalls Range 0..100 (oder 0.255)

Device ist eine dimmbare Lampe:

  • 8/0/2:dpt1.001:schalten - Aktorkanal zum Ein/Ausschalten der Lampe
  • 8/0/5:dpt1.001:schalten_status - Statuskanal, auf dem die Lampe zrückmeldet, wenn sie ein- oder ausgeschalten wurde
  • 8/0/4:dpt5.001:dimmwert - Aktorkanal zum Setzen des Dimmwerts 0..100
  • 8/0/6:dpt5.001:dimmwert_status:get - Statuskanal für den Dimmwert
  • 8/0/3:dpt1.008:dimmen - Hier sendet der Lichtschalter up/down beim gedrückt halten; die Lampe erhöht oder reduziert den Dimmwert

Hab mein Device mal testweise umdefiniert. Userreadings, stateformat, ... gelöscht, damit alles entsprechend Implementierung in die Readings läuft.

Mit
"DEF": "8/0/2:dpt1.001:schalten 8/0/5:dpt1.001:schalten_status:get 8/0/4:dpt5.001:dimmwert 8/0/6:dpt5.001:dimmwert_status:get 8/0/3:dpt1.008:dimmen"
versucht er ein/aus auf "Dimmen" zu schreiben (log mit dem Befehlt ein/ausschalten):
[29.3.2020, 13:43:26] Received firestore2fhem: {"cmd":"set L.KiJM.Decke.test dimmen up","connection":"http://127.0.0.1:8083/fhem","id":0,"msg":"EXECUTE","ts":1585482206410}

Testweise habe ich das Dimmen auf get geändert:
"DEF": "8/0/2:dpt1.001:schalten 8/0/5:dpt1.001:schalten_status:get 8/0/4:dpt5.001:dimmwert 8/0/6:dpt5.001:dimmwert_status:get 8/0/3:dpt1.008:dimmen:get"
Ein/aus wird an die Lampe übermittelt. Alerdings bekomme ich dann wieder Fehler aus dem State der Lampe:


[29.3.2020, 14:21:16] reportstate_v2: {"requestId":"704847645226","agentUserId":"google-oauth2|106942980943722081647","payload":{"devices":{"states":{"L.KiJM.Decke.test":{"on":true,"brightness":null,"online":true}}}}}
[29.3.2020, 14:21:51] [FHEM] update reading: L.KiJM.Decke.test:state = off
Error: state value off has no part 1
    at uiderror (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-logger.js:109:11)
    at Object.base.apply (/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/contextify.js:179:34)
    at Object.base.apply (/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/contextify.js:519:32)
    at FHEM_reading2homekit_ (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-utils.js:186:9)
    at FHEM_reading2homekit (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-utils.js:450:13)
    at Object.cached2Format (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-utils.js:477:10)
    at Object.base.apply (/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/contextify.js:179:34)
    at Object.base.apply (/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/contextify.js:519:32)
    at Object.processQUERY (eval at FHEM_getClientFunctions (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-localhandleQUERY.js:14:5), <anonymous>:394:59)
[...]

[29.3.2020, 14:21:53] [FHEM] update reading: L.KiJM.Decke.test:state = 0 %
Error: state not a number: 0 %
    at uiderror (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-logger.js:109:11)
    at Object.base.apply (/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/contextify.js:179:34)
    at Object.base.apply (/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/contextify.js:519:32)
    at FHEM_reading2homekit_ (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-utils.js:360:9)
    at FHEM_reading2homekit (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-utils.js:450:13)
    at Object.cached2Format (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-utils.js:477:10)
    at Object.base.apply (/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/contextify.js:179:34)
    at Object.base.apply (/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/contextify.js:519:32)
    at Object.processQUERY (eval at FHEM_getClientFunctions (/usr/local/lib/node_modules/gassistant-fhem/lib/remote-localhandleQUERY.js:14:5), <anonymous>:394:59)
[...]


State wird hier zunächst mit "off" aus dem Reading "schalten_status-get" gesetzt, anschließend mit "0 %" aus dem reading "dimmwert_status-get". Die KNX-Devices haben zu jeder Gruppe ein "-get" und ein "-set" -Reading. Als Beispiel für "8/0/2:dpt1.001:schalten":

  • "schalten-get" wird gesetzt, wenn FHEM auf dieser Gruppe ein "an" oder "aus" aus dem KNX-Bus ausliest
  • "schalten-set" wird gesetzt, wenn FHEM auf dieser Gruppe ein "an" oder "aus" an den KNX-Bus schickt

Zu meinen eigenen Readings: Ich wollte im FHEM immer den aktuellen Status "schalten" bzw." "dimmwert" in einem Reading haben, daher jeweils ein User-Reading. Das zwischen "Schalten" und "Dimmwert" wechselnde State (je nachdem, was als letztes gesendet wurde), passt zu meinen Geräten ebenfalls nicht besonders gut, daher habe ich hier ein stateformat genutzt.

Ich habe testweise das UserReading "dimmwert", auf das das Homebrigdemapping bei "brightness" zeigt, mit Prozentzeichen versehen. Im Log habe ich dann die Fehlermeldung:
L.KiJM.Decke.test:Error: dimmwert not a number: 0 %

Hoffe, es hilft Dir so weiter. Wenn Du noch was brauchst, gerne.

Gruß Thorsten