39_gassistant.pm (Google Assistant, Google Home)

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

Vorheriges Thema - Nächstes Thema

DerRecke

Zitat von: dominik am 07 Mai 2019, 22:53:30
@DerRecke, bekommst du die selbe Fehlermeldung auch wenn du es als normaler User ausfuehrst? Pruefe bitte auch node -v mit einem normalen User (pi).

Ja Dominik, es sieht genauso aus..... :(


pi@raspberrypi:~ $ node -v
v10.15.3

pi@raspberrypi:~ $ npm -v
6.4.1

pi@raspberrypi:~ $ /usr/local/lib/node_modules/gassistant-fhem/bin/gassistant-fhem
Ungültiger Maschinenbefehl

amenomade

ls -la /usr/local/lib/node_modules/gassistant-fhem/bin/gassistant-fhem?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

domschl

SSL Konfiguration erzeugt im Moment unerwartete Effekte:
Es gibt einerseits die Möglichkeit, direkt in assistant-fhem.cfg die SSL-Benutzung zu konfiguieren, aber in einigen Szenarios, wird dies mit Werten, die aus der FHEM.cfg geparsed werden, überschrieben. Das funktioniert inkorrekt, wenn ein User mehrere WEB FHEM Zugänge konfiguiert hat: der default mit SSL, und ein weiterer der mit gassistant verwendet werden soll, ohne SSL. Im Thread sind bereits einige User in diese Falle getappt.

Es wäre daher vielleicht sinnvoll, fhem.js wie folgt zu ändern:

    var base_url = 'http://';
    if ('ssl' in config) {
        if (typeof config.ssl !== 'boolean') {
            this.log.error('config: value for ssl has to be boolean.');
            process.exit(0);
        }
        if (config.ssl) {
            base_url = 'https://';
        }
    } else if(use_ssl) {
        base_url = 'https://';
    }
    base_url += this.server + ':' + this.port;


D.h.,explizite Konfiguration aus assistant-fhem.cfg hat Vorrang und wird nicht von automatisch geparsten Werten in fhem.cfg überschrieben.

DerRecke

Zitat von: amenomade am 08 Mai 2019, 08:46:03
ls -la /usr/local/lib/node_modules/gassistant-fhem/bin/gassistant-fhem?


pi@raspberrypi:~ $ ls -la /usr/local/lib/node_modules/gassistant-fhem/bin/gassistant-fhem
-rwxr-xr-x 1 pi pi 352 Okt 26  1985 /usr/local/lib/node_modules/gassistant-fhem/bin/gassistant-fhem

dominik

@DerRecke, mach mal
pi@raspberrypi:~ $ /usr/bin/env node
> console.log("Test");
Test
undefined


@domschl, danke fuer den Vorschlag, nehme ich gerne auf.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

gvzdus

ZitatFuer alle zur Info - nachdem gerade die Google I/O laeuft, gibt es ein paar schoene Updates von Google :)

Prima! Das mit dem Timer (schalte Heizung für 2 h auf 22 Grad) kann Amazon schon lange - auf dem Papier und vielleicht anderswo. Mit viel Nörgeln im Forum erfährt man dann, dass das halt in Deutschland nicht zur Verfügung steht.  >:(

Eine triviale Sache, die für uns FHEMler großartig wäre und eigentlich billig wäre, wäre die universelle Meßwertabfrage: Ob Kilowattstunden, aktuelle Watt-Leistung, Ölstand, Regenmenge u.s.w. Amazon hat hier was vorgesehen, was es in Deutschland - logo - nicht gibt: Den RangeController (https://developer.amazon.com/de/docs/device-apis/alexa-rangecontroller.html).
Ist das bei Google einfacher?

dominik

Google arbeitet an so einem SENSOR Device mit beliebigen Werten. Bislang noch nicht released, aber angeblich gibt es diesen schon im Early Access Programm.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Update der Device Types ist fertig :) Bitte dazu auf 1.3.8 aktualisieren:
sudo npm install -g gassistant-fhem --unsafe-perm
ausfuehren und gassistant in FHEM neu starten.

Folgende neue genericDeviceTypes koennen nun gesetzt werden:
- Awning (Markise)
- Boiler
- Curtain (Vorhang)
- Door
- Garage (Garagentor)
- Gate
- Hood (Dunstabzug)
- Lock (Schloss)
- Microwave
- Pergola
- Security System
- Shutter
- Shower
- Valve
- Water heater
- Window

Die Device Types die ich getestet habe, sind in der Home App NICHT zu bedienen, sondern haben meistens nur ein schoenes Symbol mit Zahnrad aber ohne Moeglichkeit der Steuerung. Bei der Sprachsteuerung haben die Device Types den Vorteil, dass man z.B. "schliesse alle Fenster" sagen kann, egal wie die Fenster wirklich benannt wurden.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Tabu

Zitat von: dominik am 07 Mai 2019, 22:53:30
Gerade eingespielt, bitte ein reload machen und kurz warten bis die Aenderungen bei Google angekommen sind.

Die Abfrage, ob die Fenster geschlossen sind, funktioniert nun bis auf einem Schönheitsfehler:
Rückmeldung 6 Geräte sind geschlossen (ist auch so) und 4 sind nicht erreichbar. Ich weiß nicht, was das für 4 Geräte sein sollen...?
Als genericDeviceType habe ich "window" verwendet und assistantName individuell angepasst. Das funktioniert nun super, da er mir genau melden kann, welches Fenster noch geöffnet ist.

Leider haut er mir noch bei Abfrage "wie warm ist es im Wohnzimmer" alle Temperaturwerte um die Ohren, was bei zwei Öffnungsmeldern und ein Thermostat overkill ist. Zumal die Werte von den Öffnungsmeldern stark verfälscht sind, da diese ja am Fenster befestigt sind. Südseite = tropische Temperaturen  ;D


Zitat von: dominik am 09 Mai 2019, 21:26:01

Die Device Types die ich getestet habe, sind in der Home App NICHT zu bedienen, sondern haben meistens nur ein schoenes Symbol mit Zahnrad aber ohne Moeglichkeit der Steuerung. Bei der Sprachsteuerung haben die Device Types den Vorteil, dass man z.B. "schliesse alle Fenster" sagen kann, egal wie die Fenster wirklich benannt wurden.

Beim "Security System" hat er mir heute morgen im Assistant (nicht Homeapp) einmal angeboten scharf/unscharf zu stellen. Leider kann ich das nicht mehr reproduzieren...


Chillkroete1206

Super Sache das ganze Modul!

Ist es auch möglich Notifications an Google Home zu verschicken? Mir schwebt vor mich Erinnern zu lassen, wenn ein Femster länger als X Minuten offen ist.
Würde dafür aber gerne keine weitere App aufmeinem Handy installieren müssen.

dominik

@Tabu, probier bitte mal heute Nacht in der Home App das FHEM Konto zu entfernen und morgen um 9 Uhr wieder hinzuzufuegen (unbedingt nach 9 Uhr!). Danach bitte nochmals testen ob Google meint, dass 4 Geraete nicht erreichbar sind.

Bzgl. der Sensortemperaturen, trage im Attribute homebridgeMapping CurrentTemperature=clear ein, dann sollte die Temperatur weg sein.

@Chillkroete1206, es gibt nur die Moeglichkeit bei EXECUTE Commands gewisse Fehler zurueck zu geben. Z.B. lowBattery eines Thermostats wenn man die Temperatur aendert. Ich habe solche Rueckmeldungen aber noch nicht implementiert. Aktive Benachrichtigungen ueber die Home App sind leider aktuell nicht moeglich, ich nutze dazu im Moment Pushbullet.
Ueber Google Home kannst du Meldungen mit dem GOOGLECAST Modul ausgeben, das waere noch eine Moeglichkeit.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

#851
Ich habe gerade ArmDisarm implementiert :)

- gassistant-fhem aktualisieren (sudo npm install -g gassistant-fhem --unsafe-perm und dann gassistant in FHEM neustarten)
- define alarmanlage dummy
- attr alarmanlage setList on off
- attr alarmanlage genericDeviceType securitysystem
- attr alarmanlage room GoogleAssistant (Raum anpassen)
- set gassistant reload

Eine Minute warten bis es in der Home App erscheint. Danach koennt ihr "aktiviere/deaktiviere die alarmanlage" sagen. Ich habe fix eingestellt, dass die Meldung kommt, dass die Alarmanlage nach 60s scharf geschalten wird - das muesst ihr selbst im DOIF (wait) handhaben. Sofern das nicht gewollt ist, kann ich das rausnehmen. Ich werde das sowieso noch im homebridgeMapping konfigurierbar machen.

Viel Spaß beim Alarmanlage basteln :)

//EDIT
Bitte testet auch Abläufe/Routinen, ich glaub ich habe den Bug dazu gefunden. Bitte um Feedback!
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

SouzA

Hi,

Mensch da gibt es ja wieder einen Haufen Neuerungen! Danke dafür.

Einen Fensterkontakt kriege ich allerdings nicht rein:
Internals:
   CHANGED   
   DEF        019D8F22
   FUUID      5c50bbf0-f33f-7c83-0de8-cbd64487c14c5f28
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     152
   NAME       gwc_Fensterkontakt
   NR         20
   NTFY_ORDER 50-gwc_Fensterkontakt
   STATE      geschlossen
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 152
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -71
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 3
   TCM_ESP3_0_TIME 2019-05-10 23:36:03
   TYPE       EnOcean
   READINGS:
     2018-08-05 00:19:33   TCM_ESP3_0_RSSI_old -73
     2019-05-10 23:36:03   state           closed
     2019-03-27 03:18:47   teach           1BS teach-in accepted EEP D5-00-01 Manufacturer: no ID
   helper:
Attributes:
   IODev      TCM_ESP3_0
   alias      WC
   assistantName Fenster WC
   devStateIcon offen:fts_window_1w_tilt geschlossen:fts_window_1w
   eep        D5-00-01
   event-on-change-reading state
   eventMap   open:offen closed:geschlossen
   gassistantName Fenster
   genericDeviceType window
   group      Fenster
   icon       fts_window_1w_tilt
   manufID    7FF
   realRoom   Gäste WC
   room       EnOcean,GoogleHome,GästeWC
   sortby     9
   subType    contact


No mappings (e.g. on/off) found for gwc_Fensterkontakt

Was braucht der noch für Infos?

Thx und 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

Baue ich dir morgen über die Erkennung subType=contact mit ein, dann klappt's auch mit dem Sensor.
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 10 Mai 2019, 23:52:43
Baue ich dir morgen über die Erkennung subType=contact mit ein, dann klappt's auch mit dem Sensor.
;D Thx
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee