Apple Homekit: die Hoffnung stirbt zuletzt

Begonnen von eldrik, 23 Januar 2015, 13:57:07

Vorheriges Thema - Nächstes Thema

justme1968

die freigabe ist ja zumindest auf device ebene und nicht global.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

starchaser

#1756
Zitat von: justme1968 am 30 November 2015, 15:58:29
ich glaube jetzt komme ich dahinter.

die idee war schon alle timer in this.delayed zu stecken. das ist etwas aufgeräumter. aber es fehlt glaube ich die initialisierung von this.delayed.

z.b. in delayed direkt am anfang ein    if( !this.delayed )
      this.delayed = {};
einbauen.

und dann den rest lassen wie es ist.

kannst du das kurz testen ?

Funktioniert leider nicht.
hier ist dein Original als Spielwiese - https://jsbin.com/cobuloqipi/edit?js,console

justme1968

danke. problem gefunden... peinlich :)

die methode darf natürlich nicht genau so heissen wie das objekt in dem die timer gespeichert werden sollen. deshalb ist auch die fehlende initialisierung nicht aufgefallen. die methode war ja da. allerdings hätte ich trotzdem eine Fehlermeldung erwartet...

neue version ist eingecheckt.

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

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

starchaser


sTaN

Never touch a running system  :o
Wollte zwei weitere FS20 Lampen in meiner Küche hinzufügen. Habe in Fhem die Lampen dem Raum Homekit hinzugefügt und anschließend homebridge auf dem raspberry gestoppt und wieder gestartet. Nun findet die Eve App die Homebridge nicht mehr. Muss jetzt erneut iCloud zurückgesetzt und neu gepaired werden oder gibt es einen anderen Workaround?

Gruß
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

piet_pit

Hallo Zusammen,

vielen Dank auch von meiner Seite an Andre für die tolle Arbeit und das homebridge-plugin.

Ich habe nun nach einigen Versuchen die homebridge zum Laufen bekommen, ich kann meine wenigen HM-Komponenten (via HM-CFG-USB) über Siri ansteuern ("genericDeviceType=blind" bzw. "genericDeviceType=switch"), alles prima.
Wenn ich nun das gleiche bei meinen FS20 Komponenten versuche, klappt das leider nicht (z.B. FS20-RSU "genericDeviceType=blind"), auch eine FS20-Schaltsteckdose geht nicht.
Eve findet diese Komponenten nicht!
Kann das evtl. an dem CUNO liegen, über den ja die FS20-Komponenten angesteuert werden und der ja eine eigene IP-Adresse hat?

VG
Pit
FHEM Latest Revision: 29615
Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7690
HM-Mod-RPI-PCB, JeeLink
CUNO 1.47

justme1968

für den FS20-RSU brauche ich ein jsonlist2 vom device.

die fs20 steckdose sollte funktionieren. taucht sie beim starten in den konsolen nachrichten auf? wenn ein: ist dein filter richtig?

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

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

piet_pit

Hallo Andre,
vielen Dank für deine Antwort, hier die jsonlist2 des RSU, hoffentlich habe ich das richtig gemacht :-[

[code]{
  "Arg":"XXXX_YYYY",
  "Results": [
  {
    "Name":"Bad_Rollo",
    "PossibleSets":"offen:noArg zu:noArg off off-for-timer on on-for-timer reset timer toggle on-till on-till-overnight blink off-till-overnight intervals off-till",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings IODev follow-on-for-timer:1,0 follow-on-timer do_not_notify:1,0 ignore:1,0 dummy:1,0 showtime:1,0 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat model:dummyDimmer,dummySender,dummySimple,fs20as1,fs20as4,fs20bf,fs20bs,fs20di,fs20di10,fs20du,fs20fms,fs20hgs,fs20irl,fs20kse,fs20ls,fs20ms2,fs20pira,fs20piri,fs20piru,fs20rgbsa,fs20rst,fs20rsu,fs20s16,fs20s20,fs20s4,fs20s4a,fs20s4m,fs20s4u,fs20s4ub,fs20s8,fs20s8m,fs20sa,fs20sd,fs20si3,fs20sig,fs20sm4,fs20sm8,fs20sn,fs20sr,fs20ss,fs20st,fs20st2,fs20str,fs20su,fs20sv,fs20tc1,fs20tc6,fs20tfk,fs20tk,fs20ue1,fs20usr,fs20uts,fs20ws1,fs20ze DbLogExclude DbLogInclude cmdIcon devStateIcon devStateStyle fm_fav fm_groups fm_name fm_order fm_type fm_view genericDeviceType:switch,outlet,light,blind,speaker,thermostat icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "BTN": "03",
      "DEF": "cXXX 03",
      "NAME": "Bad_Rollo",
      "NR": "146",
      "STATE": "zu",
      "TYPE": "FS20",
      "XMIT": "cXXX"
    },
    "Readings": {      "state": { "Value":"off", "Time":"2015-12-01 17:07:33" }    },
    "Attributes": {
      "IODev": "CUNO",
      "eventMap": "on:offen off:zu",
      "fm_type": "up-down",
      "fm_view": "0,0",
      "model": "fs20rsu",
      "room": "Bad"
    }
  }  ],
  "totalResultsReturned":1
}
[/code]

VG
Pit
FHEM Latest Revision: 29615
Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7690
HM-Mod-RPI-PCB, JeeLink
CUNO 1.47

c0d4

Ich klinke mich mal ein denn ich denke ich habe ein ähnliches Problem.

Homebridge läuft, im raum "HomeKit" befinden sich mehree FS20 Geräte ( Ich habe mehrere fs20st, fs20su und fs20rsu laufen, alles ausschließlich FS20) aber in EVE sehe ich keine Geräte.

In der fhem.config habe ich die "attr global userattr" folgendermaßen erweitert:


attr global userattr devStateIcon devStateStyle fm_fav fm_groups fm_name fm_order fm_type fm_view fp_1.Stock genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact icon room_map sortby webCmd


und dann halt die Geräte dem Raum "Homekit" hinzugefügt.

Hier die Meldung vom Start:


pi@raspberrypi ~/homebridge $ /home/pi/homebridge/bin/homebridge
*** 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;filter=.*;since=null;fmt=JSON&timestamp=1448996144539
[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] got: undefined results
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:


und meine config.json


{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"platforms": [ {                                                                                   "platform": "FHEM",
"name": "FHEM",
"server": "127.0.0.1",
"port": "8083",
"filter": "room=Homekit"
} ],
"accessories": []
}



War grade froh, dass ich es installiert bekommen habe, nun findet eve keine fs20 geräte :(


piet_pit

Hallo c0d4,
habe mir deine config.json angesehen, klappte bei mir erst, als ich bei "Server" die IP des RPi eingetragen habe, mit der 127.... klappte es bei mir auch nicht!

Zumindest gingen dann die HM-Komponenten, FS20 leider nicht.
VG
Pit
FHEM Latest Revision: 29615
Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7690
HM-Mod-RPI-PCB, JeeLink
CUNO 1.47

c0d4

Danke für deine Antwort. Habe die Lösung: Mein Fhem war alt und kannte "jsonlist2" nicht. Never touch a running system und so ;)

Läuft alles astrein, vielen Dank!

rapster

#1766
Zitat von: justme1968 am 20 Oktober 2015, 01:20:36
@rapster: versuch es mal mit garage. siehe oben.

ansonsten will ich sowieso noch schauen wie man unterstützte devices am besten konfigurierbar auf einen dummy/readingProxy abbildet. zum testen mache ich das ja schon regelmässig das ich mir aus der jsonlist2 hiermit: http://forum.fhem.de/index.php/topic,41056.0.html einen dummy anlege der sich schon fast wie das echte device verhält. das device so komplett abzubilden ist aber in eurem fall nicht nötig.
Zitat von: Posti123 am 23 Oktober 2015, 09:02:49
du brauchst für den Proxy meiner Meinung 2 genericDevicetypes.
Nämlich door und lock. Die HM-SEC-KEY wird aber automatisch erkannt und brauch kein genericDeviceType

Es gibt 2 devices:

Lock (set Tuer unlock/lock):

"Schließe die Tür auf/zu". Homekit sendet sogar eine Pushbenachrichtigung wenn sich der Zustand der Tür ändert (auch wenn man manuell aufschließt.
Door (set Tuer open):
Tür öffnen funktioniert derzeit nur per App aber mein workaround ist über eine eigens definierte Szene "Sesam öffne Dich" kann ich die Tür auch per Siri öffnen.

Hi Andre und Posti123,

Habe nun endlich mal die Zeit gefunden das Thema erneut anzugehen.

Andre, hast du schon bzgl. dem Abbilden von Geräten als readingsProxy/dummy weitergeforscht?

Ich hatte zuerst Versucht meinem alten Switch-readingsProxy den genericType "lock" zu verpassen, was allerdings nur dazu führte dass sich die komplette Homebridge verabschiedete und kein Gerät mehr erreichbar war :-\
Anschließend habe ich den readingsProxy mit einigen settern und readings aus einer geposteten HM-SEC-KEY jsonlist2 gefüttert:

{
  "Arg":"Tueroeffner",
  "Results": [
  {
    "Name":"Tueroeffner",
    "PossibleSets":"inhibit:on,off lock open reset unlock",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings disable:1 getList setList getFn:textField-long setFn:textField-long valueFn:textField-long event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat DbLogExclude DbLogInclude cmdIcon devStateIcon devStateStyle fm_type genericDeviceType:ignore,garage,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact icon prgRoom sortby webCmd widgetOverride userattr",
    "Internals": {
      "CFGFN": "",
      "DEF": "Tueroeffner",
      "DEVICE": "Tueroeffner",
      "NAME": "Tueroeffner",
      "NR": "313",
      "NTFY_ORDER": "50-Tueroeffner",
      "READING": "state",
      "STATE": "locked",
      "TYPE": "readingsProxy"
    },
    "Readings": {
      "direction": { "Value":"none", "Time":"2015-12-02 10:10:43" },
      "error": { "Value":"none", "Time":"2015-12-02 10:10:37" },
      "inhibit": { "Value":"off", "Time":"2015-12-02 10:10:30" },
      "lastCmd": { "Value":"unlock", "Time":"2015-12-02 20:38:00" },
      "lock": { "Value":"locked", "Time":"2015-12-02 20:36:04" },
      "state": { "Value":"locked", "Time":"2015-12-02 20:36:04" },
      "uncertain": { "Value":"permanent", "Time":"2015-12-02 20:36:04" }
    },
    "Attributes": {
      "alias": "Tür",
      "genericDeviceType": "lock",
      "setFn": "{\n    if ($CMD eq 'open' || $CMD eq 'unlock') {\n        CommandSet(undef, \"vccu_tueroeffner_Btn press short\");\n    }\n    return undef\n}",
      "setList": "inhibit:on,off lock open reset unlock"
    }
  }  ],
  "totalResultsReturned":1
}



Das funktioniert zwar so einwandfrei über Siri (siehe anhängendes Bild), allerdings ist das gefühlt eher Glück welches nicht sehr zuverlässig aussieht :-)

Evtl. so eine Art Templates für die readings u./o. setter welche bei einem genericDeviceType-Dummy zwingend benötigt werden damit die Homebridge stabil läuft währen super.

In Eve wechselt der status von "UNGESICHERT" erst nach einiger Zeit wieder zu "GESICHERT" zurück, allerdings kann ich "Öffne die Tür" problemlos beliebig oft an Siri übergeben.
Bringt das updaten von "state" und "lock" bei meinem readingsProxy überhaupt etwas, resp. wird das update überhaupt von Homebridge ausgewertet?
EDIT: Das konnte ich mir durch testen selbst beantworten, Homebridge merkt nur wenn sich das reading ändert, und versendet in dem Fall auch die Pushmessage für Tür (nicht) abgeschlossen. (Da ich das nicht will, habe ich es wieder ausgebaut)

Gruß
  Claudiu

sTaN

Meine homebrdge läuft auch wieder, nachdem ich die iCloud zurückgesetzt hatte. Mir ist aufgefallen, dass ich meine FS20S4U Unterputz Sender für meine Küchenbeleuchtung nicht geschaltet bekomme. Hat dies schon jemand zum Laufen bekommen? FS20ST Steckdosen und Elro laufen ohne Probleme.

Gruß
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

l2r

ich hab auch nochmal ne Frage.

Habe vorhin ein ROOMMATE-Device in homebridge eingebunden. Ist es richtig, dass Homebridge nur den Status Anwesend JA/NEIN kennt, sprich nur das presence-Reading ausgewertet wird und die anderen Stati, wie asleep usw. nicht? oder habe ich was falsch konfiguriert?
Wissen ist Macht.
Ich weiß nix.
Macht nix.

CarstenF

#1769
Hallo zusammen,
hat jemand die MAX! Thermostate erfolgreich eingebunden? Bei mir wird die Bridge immer noch unreachable, sobald ein Thermostat im HomeKit Raum auftaucht.
Update der Bridge habe ich heute Morgen gemacht, lief übrigens problemlos durch. Auch sonst habe ich die Bridge jetzt seit mind. 2 Wochen ununterbrochen laufen. Zwar zickt meine ATV beim Zugriff von außen, aber innerhalb des Netzwerkes läuft alles wie ein Glöckchen.

Gruss Carsten
Raspberry Pi4
CUL 868, CUL 433, LaCrosse Gateway, Zigbeetomqtt2, HUE, Homematic
Max-Cube umgeflasht
MAX!, FhemtoFhem, Homebridge, FhemConnector, IR_Gateway und sonst auch noch allerlei Spielzeug....