homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

Markus M.

Zitat von: justme1968 am 30 September 2016, 00:01:58
@tante ju: arg... peinlich. oder einfach zu spät. ja natürlich. so rum wird ein schuh draus. es hat nichts mit dem isNaN test zu tun. ist repariert und eingecheckt.

Die min/max Werte im Mapping musst du trotzdem noch irgendwo anpassen, sonst kommen in der Home App 5/30 Grad raus.
Das hatte ich gestern extra nochmal getestet.
Aktuell weder Smarthome noch FHEM vorhanden

justme1968

@aski71: du meinst du hast fhem neu gestartet als der hub aus war? dann ist das verhalten klar. das modul cached nichts das der hub beim connect nicht liefern würde.

aber warum machst du den hub überhaupt aus? warum startest du homebridge neu? beide komponenten laufen bei mir wochen und monatelang ohne neustart.

@MaxAut: cmdOn und/oder cmds setzen.

@Markus M.: ja. das ist (noch) absicht. wenn jemand die geänderten werte möchte muss er die grenzen im homebridgeMapping setzen. das problem ist das sich bei den geänderten grenzen auch die beiden werte einstellen lassen und ich noch nicht weiss was dann passiert. eigleich braucht man auch noch das mapping in die gegenrichtung. d.h. bei 4 wird off gesendet und bei 31 on.

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

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

aski71

Zitat von: justme1968 am 30 September 2016, 11:51:56
@aski71: du meinst du hast fhem neu gestartet als der hub aus war? dann ist das verhalten klar. das modul cached nichts das der hub beim connect nicht liefern würde.

aber warum machst du den hub überhaupt aus? warum startest du homebridge neu? beide komponenten laufen bei mir wochen und monatelang ohne neustart.


Nicht ganz: Egal, wie oft ich fhem stoppe und starte. Das stört homebridge gar nicht und die Activities bleiben vorhanden.
Das Problem tritt nur auf, wenn ich homebridge neu starte und die Harmony aus ist. Und das starte ich jedesmal neu, wenn ich ein Gerät hinzufüge.
Wäre es nicht in jedem Fall besser, das Modul würde den ganzen Quatsch cachen?

Warum mache ich die Harmony aus:
Die Harmony hängt bei mir hinter einer Schaltsteckdose, an der mein ganzes Entertainment-Gelöt dran ist. Also Fernseher, Stereoanlage, usw. usw.
Und das switche ich halt insgesamt off.

Warum starte ich fhem und homebridge neu:
Weil ich keine Lust habe, einen Stromschlag zu bekommen, wenn ich gerade neues Spielzeug in die offene Dose einbaue und da halt die Sicherung rausmachen musste.  ;D

MaxAut

Danke, das mit dem Einschalten klappt jetzt. Dadurch ergibt sich jetzt aber noch ein zweites Problem: Stelle ich nun einen dim Wert ein indem ich Siri sage "Stelle Artemide auf x%", dann wird dieser Wert zwar gesetzt, aber unmittelbar danach durch das OnCmd wieder überschrieben. Ich kann also mit Siri jetzt nicht mehr dimmen ...

Mein Mapping sieht aktuell so aus:

Brightness=dim::dim,minValue=30,maxValue=90,minStep=5 On=state,valueOff=0,cmdOn=dim+60

Markus M.

Zitat von: justme1968 am 30 September 2016, 11:51:56das problem ist das sich bei den geänderten grenzen auch die beiden werte einstellen lassen und ich noch nicht weiss was dann passiert. eigleich braucht man auch noch das mapping in die gegenrichtung. d.h. bei 4 wird off gesendet und bei 31 on.

Was passiert wenn du den Bereich an der Stelle vom Mapping im Code jeweils nur auf den min oder max Wert erweiterst?
Dann dürfte es in der Praxis read-only sein, da der jeweilige Wert dann nur auftaucht wenn er gerade schon gesetzt ist.
Aktuell weder Smarthome noch FHEM vorhanden

justme1968

@aski71: im normalfall ist es nicht sinnvoll die werte zu cachen. wenn der hub nicht da ist kann man auch nicht schalten. also braucht das modul die werte nicht. sobald der hub online geht werden die werte automatisch aktualisiert. der homebridge fall ist eine ausnahme. aber da würde ich eher eine der beiden folgenden möglichkeiten empfehlen...

wäre es bei dir nicht sinnvoll den hub nicht mit an die schaltbare steckdose zu hängen sondern extra? dann könntest du auch das einschalten der steckdosen automatisieren und in die aktivstes mit einbauen. das ist doch eigentlich noch sehr viel eleganter als da was von hand zu machen.

je nach dem wie wichtig dir dein fhem ist ist eine usv sehr sinnvoll :)

@MaxAut: homekit sendet aktuell explizit ein on wenn das device beim dimmen aus aus ist. scheinbar gibt es auch keine feste reihenfolge zwischen dem On und den Brighness. das ist ein generelles problem für das es scheinbar noch keine lösung gibt.

bau mal in das cmdOn ein FILTER ein so das es auf fhem seite nur ausgeführt wird wenn die lampe noch aus ist. siehe devspec in der commandref.

@Markus M.: das reicht nicht weil homekit davon nichts mit bekommt. aktuell werden die werte nur beim start abgeglichen.

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

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

MaxAut

Verstanden. Das mit dem Filter werde ich nachher testen.

Ich habe aktuell noch ein zweites Problem - das bezieht sich auf mein Fenster Thema, das ich gestern hier gepostet hatte. Ich verwende nun Invert, aber es mag nicht klappen ... ich bin, glaube ich, echt zu doof für dieses HomeBridgeMapping ...

Von meinem Fenster wird als State dim<wert> zurückgeliefert, wobei dim100 geschlossen und dim0 komplett geöffnet ist. Ich habe nun mit einem Userreading den Prozentwert extrahiert:

angle {ReadingsNum("EssenOben1Fenster","state",111)}

Soweit so gut. Nur mit dem Mapping nach HomeKit will es nicht klappen ... Folgendes habe ich derzeit drinnen:

TargetPosition=dim::angle,invert CurrentPosition=angle,invert

HomeBridge liefert bei einer Abfrage in der App dann Folgendes:

[9/30/2016, 12:46:49 PM] [FHEM] query: CurrentPosition for EssenOben1Fenster-invert
[9/30/2016, 12:46:49 PM] [FHEM]   not cached
[9/30/2016, 12:46:49 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BReadingsVal(%22EssenOben1Fenster%22,%22invert%22,%22%22)%7D&XHR=1
[9/30/2016, 12:46:49 PM] [FHEM] query: TargetPosition for EssenOben1Fenster-invert
[9/30/2016, 12:46:49 PM] [FHEM]   not cached
[9/30/2016, 12:46:49 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BReadingsVal(%22EssenOben1Fenster%22,%22invert%22,%22%22)%7D&XHR=1
[9/30/2016, 12:46:49 PM] [FHEM]   value:
  2016-09-30 12:46:49 caching: EssenOben1Fenster-invert:
[9/30/2016, 12:46:49 PM] [FHEM] EssenOben1Fenster-invert not a number:
[9/30/2016, 12:46:49 PM] [FHEM] EssenOben1Fenster-invert not a number:
[9/30/2016, 12:46:49 PM] [FHEM] EssenOben1Fenster-invert not a number:
[9/30/2016, 12:46:49 PM] [FHEM]   value:
[9/30/2016, 12:46:49 PM] [FHEM] EssenOben1Fenster-invert not a number:


Und auch beim Setzen der Position will es nicht klappen. Wenn ich 100 in der App setze, dann kommt auch 100 bei FHEM an, und nicht 0, wie ich gerne hätte ...

justme1968

invert=true oder invert=1
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Markus M.

Mal was anderes: sind die in der Homebridge verfügbaren Räume bekannt und/oder können sie gesetzt werden?


Sent from my iPhone using Tapatalk
Aktuell weder Smarthome noch FHEM vorhanden

justme1968

nein.

räume sind komplett auf homekit seite. homebridge weiss davon nichts. man braucht eine app auf dem iOS gerät um da ran zu kommen. eine hombridge app die dann mit direkt mit homebridge kommunizieren kann wäre eine perfekte lösung. damit könnte man auch backups machen und wieder einspielen.

aber es hat sich noch keiner gemeldet der das bauen mag.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MaxAut

Super, danke! Das Invert funktioniert nun.

Zu dem Filter: der würde ja, wenn ich beim Einschalten auf 60 dimmen will, und es nur ausgeführt werden sollen soferne die Lampe ausgeschaltet ist so aussehen:

set Artemide:FILTER=state=0 dim 60

Mein Problem nun: Wie bekomme ich das in das cmdOn hinein? Das Mapping sieht aktuell so aus:

Brightness=dim::dim,minValue=30,maxValue=90,minStep=5 On=state,valueOff=0,cmdOn=dim+60

Wäre es dann so?

Brightness=dim::dim,minValue=30,maxValue=90,minStep=5 On=state,valueOff=0,cmdOn=:FILTER=state=0+dim+60

justme1968

die = gehen nicht direkt weil die anders interpretiert werden.

entweder mit url encoden oder auf fhem seite mit cmdalias.

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

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

MaxAut

#1197
Noch ein Thema: Wenn ich in der Home-App einen Slider bewege, dann werden ständig Cmds abgesetzt. Das ist für mein Fenster ein Problem, da die Kommandos seriell abgearbeitet werden. Wenn also ich den Slider von 0 auf 50 schiebe, dann resultiert das z.B. in 5 Kommandos: einmal 10, dann 25, dann 47, dann 55 (weil ich zu weit geschoben habe), dann 50. Und das Fenster macht alle Schritte durch ... Gibt es eine Möglichkeit nur den letzten Wert zu nehmen?

justme1968

delay=true oder delay=<zeit in ms>

siehe readme.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MaxAut

Das habe ich versucht, es hat nur leider nicht geklappt ....

Mein Mapping zur Zeit ist:

Brightness=dim::dim,minValue=30,maxValue=90,minStep=5,delay=true On=state,valueOff=0,cmd=setart,cmdOn=on,cmdOff=off

Es funktioniert beides nicht: Weder das delay, noch die Sache mit dem cmdAlias. Der ist übrigens wie folgt definiert:

setart on AS set $EVTPART0:FILTER=state=0 dim 60

Ich blicke da überhaupt nicht durch ....  ???