homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

tante ju

#1020
Also so ganz steige ich durch die Parameter nicht durch.
Insbesondere meine ich, die Funktion des :: ist nicht erläutert, oder habe ich was übersehen?

Ich versuche gerade einen Dimmer einzubinden. Der ist eigentlich ganz simpel. Im state steht entweder "off" (dann ist er ausgeschaltet) oder eine Zahl von 1 bis 100. Im set-Befehl wird einfach der Wert von 0 bis 100 gegeben und alles ist gut. Also ist das einzige asymmetrische das off im Reading zu 0 im set.

Ein Brightness=state führt zu sowas:
executing: http://127.0.0.1:8083/fhem?cmd=set%20TestDimmer%20undefined%2096&XHR=1
Beachte das "undefined". Also die vorgeschlagene Syntax ist wohl fehlerhaft.

Nehme ich allerdings ein Brightness=state::state, dann führt das hierzu:
executing: http://127.0.0.1:8083/fhem?cmd=set%20TestDimmer%20state%2092&XHR=1

und hier wird dann auf "state" geschrieben, was leider nicht das implizite state ist. Gleiches passiert bei "Brightness=state::".

Ich bräuchte ein "set TestDimmer 92", aber das scheint nicht so einfach hinzubekommen zu sein.

Ideen?


Update:
mit
homebridgeMapping  On=::,cmds=1:100;0:off;true:100;false:off Brightness=state,cmd=+,minValue=0,maxValue=100,minStep=1,delay=1
scheint das meiste zu gehen. Nur der Status "off" im Device führt zu einer Fehlermeldung im homebridge. Wenn ich das mit "value" auf 0 Mappe, dann kommt für jede Zahl eine Fehlermeldung. Ich kann doch nicht alle 100 Zahlen tappen, oder?
value=/[0-9]+/:INT scheint nicht zu funktionieren, vermutlich wegen dem + und dem INT, oder?

justme1968

@aski71: in eve und home geht es immer zuverlässig? nur mit siri nicht? versuch mal 'stell die lampe im schlafzimmer auf xxx%'.

@tante ju: wie im readme beschrieben ist die komplette syntax <command>:<device>:<reading>. leere teile und führende : können weg gelassen werden.

hast du es mal ganz ohne homebridgeMapping versucht? das schaut nach einem ganz normalen dimmer aus der direkt ohne weitere konfiguration funktionieren sollte. nur genericDeviceType auf light setzen.

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

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

aski71

Zitat von: justme1968 am 19 September 2016, 09:41:08
@aski71: in eve und home geht es immer zuverlässig? nur mit siri nicht? versuch mal 'stell die lampe im schlafzimmer auf xxx%'.

Eve hab ich nicht mehr probiert. Aber in Home geht es zuverlässig.
Siri konnte mit obiger Ansage die Lampe aus dem "Aus" Zustand erfolgreich auf z.B. 23% stellen.
Wenn ich von da aus auf 68% stellen wollte, hat sie es zwar mündlich bestätigt, die Lampe ging aber auf 100%.

Viele Grüße
Alex

stratege-0815

#1023
Irgendwie stehe ich auf dem Schlauch, wie kann ich node.js updaten?
Ich werde die v0.10.28 nicht los.

Nach einer ganz frühen Anleitung hatte ich wie folgt installiert:

wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz -P /tmp && cd /usr/local && sudo tar xzvf /tmp/node-v0.10.28-linux-arm-pi.tar.gz --strip=1

Lanhydrock

Wir können in der HOME-App die Aktivitäten des HarmonyHubs wunderbar steuern. Vielen Dank, Andre!

Allerdings würden wir gerne einen Taster erstellen, der die Commands lauter und leiser des angeschlossenen Receivers abbildet.

Das Attribut homebridgeMapping des harmony-Devices Receiver ist so definiert:
clear
On=power,subtype=lauter,valueOn=on,cmdOn=command+VolumeUp,cmdOff=command+VolumeUp
On=power,subtype=leiser,valueOn=on,cmdOn=command+VolumeDown,cmdOff=command+VolumeDown


Klappt auch alles, beim Antippen stellt er lauter bzw. leiser.
Jedoch wechselt die Statusfarbe des Gerätesymbols in der HOME-App immer zwischen eingeschaltet und ausgeschaltet, was vom WAF her gesehen unschön ist; bei Szenen genauso.

Gibt es HomeKit her, dass ein Gerät generell immer eingeschaltet bleibt, auch wenn das Symbol angetippt wird?
Könnte man die Fragestellung vom Ansatz her anders lösen?
Wie macht Ihr das?

Danke sehr.
- FHEMs in VM @ Mac mini & RPi, fhem2fhem
- Homematic, 1wire, Hue & Lightify & Tradfri & Xiaomi & Oblo via zigbee2mqtt/Conbee II, Rademacher DuoFern, Roto i8 & Hunter Ventile via HM-LC-Sw4-DR
- Interdomo GBK (via Siemens ozw672; dank HTTPMOD, lest Post #33765)
- homebridge(-fhem), Grafana, DBLog

tante ju

Zitat von: justme1968 am 19 September 2016, 09:41:08
@tante ju: wie im readme beschrieben ist die komplette syntax <command>:<device>:<reading>. leere teile und führende : können weg gelassen werden.

hast du es mal ganz ohne homebridgeMapping versucht? das schaut nach einem ganz normalen dimmer aus der direkt ohne weitere konfiguration funktionieren sollte. nur genericDeviceType auf light setzen.

Habe mir auch hergeleitet, daß das die Syntax sein muß. Du hattest aber an anderer Stelle geraten, für Dimmer dieses "Brightness=state" zu nehmen, was nun leider zu dem undefined führt.
Wenn ich kein homebridgeMapping nehme, dann geht gar nichts.
Habe ja jetzt ein Mapping zusammen gebastelt, welches fast vollständig funktioniert. Nur wenn das Device auf off steht, dann gibt es Fehlermeldungen. Wie bilde ich den Status denn noch ab, ohne alle 101 Einzelwerte mappen zu müssen?

justme1968

@Lanhydrock: schau dir mal timeout an. damit kann man taster bauen.

@tante ju: was genau heisst es geht gar nichts mehr. was steht beim start mit --debug auf der konsole? zeig mal bitte ein jsonlist2 vom device. wie gesagt sollte es auch komplett ohne gehen. zumindest bei meinem test dummy tut es das auch.

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

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

mmayer

Hallo,

erst mal vielen Dank für das Plugin, die Installation lief einfach und problemlos, die Automatik hat fast das gesamt Haus richtig erkannt
Auf der Zielgeraden kam es jedoch zu einem Problem:

in FHEM sind meine KNX Rollos als Schalter mit custom States definiert, sie hören jedoch nur auf ON->schließen und OFF->öffnen
define Rollo EIB 0/0/1
attr Rollo devStateIcon on:close off:closeG
attr Rollo eventMap on:close off:open

Die Homebridge übernimmt die Rollos als Schalter und das funktioniert auch ganz gut, ist nur sehr unintuitiv.

Ich habe also versucht :
attr Rollo genericDeviceType blind

und bekam so auf meinem Schalter das gewünschte Rollo interface wo man den so schön "aufsliden" (0-100) kann. nur funktioniert er nicht mehr xD
mit --debug habe ich herausgefunden dass er
http://127.0.0.1:8090/fhem?cmd=set%20Rollo%20pct%20100&XHR=1
man beachte hier das er da n "pct" einbaut.
sendet. Richtig wäre jedoch:
http://127.0.0.1:8090/fhem?cmd=set%20Rollo%20off&XHR=1
ich versucht das zu erreichen mit: (meine Intention ist denke ich klar? nur noch voll auf und voll zu akzeptieren, dann öffen/schließen ->off/on)
attr Rollo homebridgeMapping minValue=0,maxValue=1,minStep=1,cmds=1:off;0:on

darauf trotz rereadcfg + homebridge neustarten keine Reaktion(immer noch 0..100 + pct)... der scheint die Zeile nicht zu mögen...
Was mach ich da falsch?
Und hat wer evtl ne umfangreichere bsp config die man studieren könnte? Ich check die Doku auf S1 nur so halb xD.

Mfg
Mayer

Markus M.

#1028
Ist es noch irgendwie möglich, den Hue Lampen abzugewöhnen, dass sie beim Anschalten immer auf 100% gehen?

Das Problem liegt hier:
  } else if( match = s.PossibleSets.match(/(^| )pct\b/) ) {
    // HM dimmer
    this.service_name = 'light';
    this.mappings.On = { reading: 'pct', valueOff: '0', cmdOn: 'on', cmdOff: 'off' };
    this.mappings.Brightness = { reading: 'pct', cmd: 'pct', delay: true };


pct ist bei Hue im ausgeschalteten Zustand 0, während bri den letzten Wert behält.
Würde hier einfach bri verwendet und auf 0-100 umgerechnet, würde es funktionieren wie gewünscht.
Aktuell weder Smarthome noch FHEM vorhanden

Lorenz

Hallo zusammen,

ich komme nochmal auf die umgekehrt dargestellten Jalousien zurück:

Zitat von: justme1968 am 18 September 2016, 16:18:24
wo kommt das position reading im hm aktor her? das gibt es normalerweise nicht und warum verwendest du als maxValue 200 bei beiden devices ?

wenn man invert verwendet muss men es natürlich für CurrentPosition und TargetPosition setzen.


bitte versuch mal die angehängt version. die setzt invert automatisch bei somfy und wenn levelInverse gesetzt ist. das homebridgeMapping bitte komplett entfernen.

In der Version von index.js aus dem oben zitierten Beitrag muss levelinverse so geschrieben werden: levelInverse, dann klappt das auch ohne mapping.
Getestet mit HM-LC-Bl1PBU-FM. Danke für die Lösung! Ich hatte mir mit dem mapping auch die Karten gelegt.

LG
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

justme1968

@tante ju: wegen der 101 werte: ich baue für das mapping in der richtung homebridge->fhem auch noch regex ein. aber wie gesagt sollte es überhaupt nicht nötig sein.

@mmayer: du musst im homebridgeMapping die characterstic namen angeben.

wenn du die home app verwendest sollte etwas in der art gehen:attr Rollo homebridgeMapping CurrentPosition=state,values=on:0;off:100 TargetPosition=state,cmd=+,values=on:0;off:100,minStep=100,cmds=100:off;0:on

@Markus M.: es wird nur 1:1 durchgereicht was homebridge sendet. wenn hier beim on noch auf 100% gedimmt wird kann ich nichts mehr dagegen machen. das hängt vielleicht auch von der verwendeten app ab. das on das beim dimmen zusätzlich gesendet wird sollte in der aktuellen version unterdrückt werden.

@Lorenz: levelInverse war die schreibweise die im jsonlist aufgetaucht ist. ich denke doch das die stimmt?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mmayer

Erst mal Danke für die schnelle Antwort ;)

attr Rollo homebridgeMapping CurrentPosition=state,values=on:0;off:100 TargetPosition=state,cmd=+,values=on:0;off:100,minStep=100,cmds=100:off;0:on
jedoch schmeißt deine Zeile(c&p) folgende Fehler:
Unknown command off:100, try help.
Unknown command off:100,minStep=100,cmds=100:off, try help.
Unknown command 0:on, try help.

und ja es ist die Zeile, schmeiß ich sie raus ist der Fehler nicht mehr da

Hab ich da ne dependency vergessen?
Oder was mach ich sonst falsch?

--debug output unverändert (vmtl infolge des og Fehlers) => keine Änderung in App/Ergebnis

Danke nochmal


justme1968

gib es im frontend im bereich für die attribute ein.

wenn du es auf der kommandzeile eingibst musst du die ; verdoppeln

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

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

justme1968

ich habe eben eine version eingecheckt in der man für die cmds für die richtung homebridge->fhem auch regex verwenden kann.

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

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

tante ju

Zitat von: justme1968 am 19 September 2016, 18:44:15
@tante ju: wegen der 101 werte: ich baue für das mapping in der richtung homebridge->fhem auch noch regex ein. aber wie gesagt sollte es überhaupt nicht nötig sein.

Das Mapping müsste doch eher hem->homebridge sein. Wenn im FHEM das Device off zeigt, dann bekomme ich im homebridge den Fehler "not a value off".
Wie gesagt, ich hatte ja versucht, eine Regex zu verwenden, aber es hat nicht funktioniert. Die Regex enthält ja ein Pluszeichen und ich habe auf INT gemappt (einfach mal geraten), was dann aber zu solchen Fehlermeldungen wie "not a number 10" geführt hat.