homebridge/homekit

Begonnen von justme1968, 01 Februar 2016, 16:16:37

Vorheriges Thema - Nächstes Thema

justme1968

ist die jsonlist2 von oben noch aktuell ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

DeeSPe

jsonlist2 ist aktuell von gerade eben...

Wir spielen noch im ZWave Modul mit dem set Attribut rum. Seit heute funktioniert zum set auch thermostatSetpointSet.
Dieses akzeptiert nun auch floats. Das alte setpointHeating konnte nur integer.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Das ist so cool schon... :) :) :)

(https://www.dropbox.com/s/wjgsfrbmz0dbap3/ku_Hauptsteckdose.png?raw=1)
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

justme1968

ich habe noch ein problem bei den frei konfigurierbaren thermostaten behoben. zumindest auf der konsole wird dein device bei mir als thermostat erkannt.

die neue version hängt wieder ganz oben dran.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

DeeSPe

Jetzt scheint er es richtig zu erkennen, kommt aber wieder "Hinzufügen fehlgeschlagen":

[FHEM] homebridgeMapping: TargetTemperature=thermostatSetpointSet::setpointHeating,minValue=15,maxValue=26,minStep=0.1 CurrentTemperature=wz_Heizung:temperature
[FHEM] mappings for wz_Heizung: { CurrentTemperature: { reading: 'temperature', minValue: -30, device: 'wz_Heizung' },
  BatteryLevel: { reading: 'battery' },
  StatusLowBattery: { reading: 'battery', threshold: 20 },
  On: { reading: 'state', valueOff: 'off', cmdOn: 'on', cmdOff: 'off' },
  TargetTemperature:
   { reading: 'setpointHeating',
     cmd: 'thermostatSetpointSet',
     minValue: '15',
     maxValue: '26',
     minStep: '0.1' } }
[FHEM] wz_Heizung is thermostat
[FHEM] wz_Heizung has CurrentTemperature [temperature]
[FHEM] wz_Heizung has TargetTemperature [thermostatSetpointSet]
[FHEM] wz_Heizung has BatteryLevel [battery]
[FHEM] wz_Heizung has StatusLowBattery [battery]
  2016-02-03 01:00:13 caching: wz_Heizung-temperature: 22.5 C
[FHEM]     caching: CurrentTemperature: 22.5 (number; from 22.5 C)
  2016-02-03 01:00:13 caching: wz_Heizung-battery: 0 %
[FHEM]     caching: BatteryLevel: 0 (number; from 0 %)
[FHEM]     caching: StatusLowBattery: 1 (number; from 0 %)
  2016-02-03 01:00:13 caching: wz_Heizung-setpointHeating: 0 %
[FHEM] wz_Heizung-setpointHeating value 0 clipped to minValue: 15
[FHEM]     caching: TargetTemperature: 15 (number; from 0 %)
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Ahhh, ganz ohne Mapping geht es jetzt!!!!!!

:D :D :D :D :D

(https://www.dropbox.com/s/rf4697uuhiqhtdb/kz_Heizung-top.png?raw=1)
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

#51
Mit "TargetTemperature=thermostatSetpointSet::setpointHeating" funktioniert es! Setzen der Temperatur geht!
Scheinbar mag er jetzt die min und max Vals nicht!

Aber was macht Modus in diesem Falle? Das ist neu dazu gekommen...
Das ist doch eher für Klimaanlagen oder?

Kann man die Modus Characteristic eventuell frei konfigurieren und zweckentfremden? Ich denke da an meinen vierstufigen Anwesenheitsstatus.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Das sind offenbar Deine default Settings wenn man an minValue und maxValue nichts ändert. So funktioniert die Kommunikation zwischen Homebridge und HomeKit (Eve).

[FHEM]     TargetTemperature characteristic for wz_Heizung:setpointHeating
[FHEM]       initial value is: 0 (number)
[FHEM]       props: { format: 'float',
  unit: 'celsius',
  minValue: 10,
  maxValue: 38,
  minStep: 0.1,
  perms: [ 'pr', 'pw', 'ev' ] }


Füge ich im homebridgeMapping meine eigenen min, max und step hinzu "TargetTemperature=thermostatSetpointSet::setpointHeating,minValue=15,maxValue=26,minStep=0.1", dann geht die Kommunikation zwischen Homebridge und HomeKit nicht mehr.
Meine definierten Werte werden aber übernommen:

[FHEM]     TargetTemperature characteristic for wz_Heizung:setpointHeating
[FHEM]       initial value is: 15 (number)
[FHEM]       props: { format: 'float',
  unit: 'celsius',
  minValue: '15',
  maxValue: '26',
  minStep: '0.1',
  perms: [ 'pr', 'pw', 'ev' ] }


Mal ne bescheidene Frage: Was passiert denn bzw. warum passiert es dann dass die Kommunikation zwischen Homebridge und HomeKit aussteigt?
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

justme1968

#53
laut homekit hat ein thermostat immer einen mode mit diesen vier zuständen. über das mapping kannst du frei konfigurieren was beim anwählen passieren soll aber du kannst nicht die label ändern.

ich hab das problem mit den min/max/step werten gesehen. die werden noch als strings weitergereicht statt als zahlen.

homekit verweigert die kommunikation wenn ihm hier etwas nicht passt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

die geänderte version hält oben dran.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

DeeSPe

Getestet und für gut befunden. Thermostat klappt jetzt mit min/max/step und die Anzeige stimmt auch.
Nur mit dem Modus weiß ich noch nichts so richtig anzufangen, aber muss ja auch nicht wenn es so funktioniert. Im Zweifelsfall wird der Modus ausgeblendet.

Schönes Update.

Bin ich eigentlich der Einzige der testet? Was soll ich noch testen Andre?
Änderst Du die power und energy Werte noch auf floats?

Kann ich eventuell mit "1 device  -> n services" meinen Anwesenheitsstatus in HomeKit umsetzen?
Bluetooth LAN-Ping im Zusammenhang mit PRESENCE und diesem Status macht teilweise komische Sachen bei mir und habe ich erst einmal deaktiviert. Zur Not könnte ich auch einen dummy definieren und diesen zum Ein- und Ausschalten der Abwesenheit benutzen.
Ich benutze noch die HomeKit App myHome und die kann als Auslöser auch einen Geofence nehmen, wenn ich dann diesen Fence verlasse, könnte ich auf Abwesenheit umstellen.

Übrigens stürzt die App myHome ab wenn ich die Details einer Steckdose aufrufe die Strommessung unterstützt.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

l2r

ich würde auch gerne testen und hab mir das vorhin auch mal angesehen, nur leider bin ich am Anfang direkt nicht weitergekommen.

Aktuell habe ich homebridge über npm installiert und das läuft auch.

Muss ich, um die neue Version testen zu können erst nvm installieren? oder habe ich das bei meiner bestehenden config schon und ich bin einfach nur zu blöd das zu finden?
Wissen ist Macht.
Ich weiß nix.
Macht nix.

DeeSPe

Hab auch nur normal node und npm installiert und kann wunderbar testet.

Bei mir liegt das Plugin "homebridge-fhem" unter: /usr/local/lib/node_modules/homebridge-fhem/

Dort die index.js sichern und mit der neuen überschreiben/ersetzen.

Viel Spaß beim Testen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

xMichiix

Hallo, :D ich schon wieder :P

hab jetzt nochmal alles neu eingerichtet und jetzt is der fehler weg nur will jetzt homebridge nicht staten :o
http://www.fhemwiki.de/wiki/Homebridge_einrichten
http://www.fhemwiki.de/wiki/Homebridge_Start_und_Status_in_FHEM
hab diese zwei gemacht hoff das war so richtig :o

l2r

#59
so,

ich habe die index.js in  /usr/local/lib/node_modules/homebridge-fhem/ ersetzt und bekomme beim starten von hombridge folgenden Ausgabe/Fehler:
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
Loaded plugin: homebridge-fhem
Registering platform 'homebridge-fhem.FHEM'
---
Loaded config.json with 0 accessories and 1 platforms.
---
Loading 1 platforms...
[FHEM] Initializing FHEM platform...
starting longpoll: http://127.0.0.1:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1454503694789
[FHEM] Checking genericDeviceType...
[FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[FHEM] Fetching FHEM switchable devices...
[FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=Homekit&XHR=1
Loading 0 accessories...
Server listening on: http://<ip>:8082
[FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%20addToAttrList(%20%22homebridgeMapping:textField-long%22%20)%20%7D&XHR=1
/usr/local/lib/node_modules/homebridge-fhem/index.js:891
                      console.log.info( 'homebridgeMapping attribute created.' );
                                  ^

TypeError: console.log.info is not a function
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-fhem/index.js:891:35)
    at Request._callback (/usr/local/lib/node_modules/homebridge-fhem/index.js:862:27)
    at Request.self.callback (/usr/local/lib/node_modules/homebridge-fhem/node_modules/request/request.js:198:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/usr/local/lib/node_modules/homebridge-fhem/node_modules/request/request.js:1035:10)
    at emitOne (events.js:82:20)
    at Request.emit (events.js:169:7)
    at Gunzip.<anonymous> (/usr/local/lib/node_modules/homebridge-fhem/node_modules/request/request.js:962:12)
    at emitNone (events.js:72:20)


Also meiner Meinung nach ein ".info" zu viel in Zeile 891.

Ich habs mal rausgenommen, dann läuft der Start zumindest weiter.

Ich krieg später dann noch einen Fehler beim Aufruf der Funktion console.log.warn (ich vermute die gleiche Ursache)

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.