Harmony activity und dummy syncronitäts Probleme (State vs set/setreading)

Begonnen von 2bedom, 12 Dezember 2015, 22:43:19

Vorheriges Thema - Nächstes Thema

2bedom

Hallo,

Ich habe bereits ein voll funktionierendes Harmony Modul mit 2 Devices die ich steure.. Jetzt habe ich in FHEM 2 dummies angelegt so dass ich auch hierüber activities steuern kann...


### LOGITECH HARMONY ###
define HarmonyWZ harmony 10.1.1.30
attr HarmonyWZ room Wohnzimmer
attr HarmonyWZ sortby 01
define harmony_29502924 harmony DEVICE 29502924
attr harmony_29502924 alias Denon-AV-Empfänger
attr harmony_29502924 event-on-change-reading .*
attr harmony_29502924 room Wohnzimmer
attr harmony_29502924 sortby 03
attr harmony_29502924 stateFormat power
define harmony_29501575 harmony DEVICE 29501575
attr harmony_29501575 alias Samsung-Fernseher
attr harmony_29501575 event-on-change-reading .*
attr harmony_29501575 room Wohnzimmer
attr harmony_29501575 sortby 02
attr harmony_29501575 stateFormat power

### TV Widget Wohnzimmer ###
define FernseherWZ dummy
attr FernseherWZ alias TV
attr FernseherWZ cmdIcon on:general_an@green off:general_aus@red
attr FernseherWZ devStateIcon on:it_television@green off:it_television@red set_off:it_television@red set_on:it_television@green
attr FernseherWZ event-on-change-reading .*
attr FernseherWZ genericDeviceType switch
attr FernseherWZ group Multimedia
attr FernseherWZ icon it_television
attr FernseherWZ room Dashboard,Homekit,Wohnzimmer
attr FernseherWZ setList off on
attr FernseherWZ sortby 01

### PROBLEMKIND ;)
define FernseherWZAn notify FernseherWZ:on set HarmonyWZ activity 76187623
define FernseherWZAus notify FernseherWZ:off set HarmonyWZ activity -1

### Radio Widget Wohnzimmer ###
define RadioWZ dummy
attr RadioWZ alias Radio
attr RadioWZ cmdIcon on:general_an@green off:general_aus@red
attr RadioWZ devStateIcon on:it_radio@green off:it_radio@red set_off:it_radio@red set_on:it_radio@green
attr RadioWZ event-on-change-reading .*
attr RadioWZ genericDeviceType switch
attr RadioWZ group Multimedia
attr RadioWZ icon it_radio
attr RadioWZ room Dashboard,Homekit,Wohnzimmer
attr RadioWZ setList off on
attr RadioWZ sortby 01

### PROBLEMKIND ;)
define RadioWZAn notify RadioWZ:on set HarmonyWZ activity 76237613
define RadioWZAus notify RadioWZ:off set HarmonyWZ activity -1


soweit so gut funktioniert alles prima...als nächstes habe ich mir überlegt wie ich die dummies synchron zum Status halten kann, also wenn ich über die Hardware Fernbedienung schalte das FHEM das mitbekommt und den Status anpasst...


### PROBLEMKIND ;)
### adapt dummy states according to harmony device state ###
define FernseherWZNotify notify HarmonyWZ:currentActivity.* { if (ReadingsVal("HarmonyWZ","currentActivity","") eq "Fernsehen") { fhem("setstate FernseherWZ on") } else { fhem("setstate FernseherWZ off") } }
define RadioWZNotify notify HarmonyWZ:currentActivity.* { if (ReadingsVal("HarmonyWZ","currentActivity","") eq "Musik hören") { fhem("setstate RadioWZ on") } else { fhem("setstate RadioWZ off") } }


passt auch alles ... Zustände werden angepasst wenn ich schalte....

Jetzt kommt das PROBLEM.... setstate passt nur den STATE an nicht aber das READING... was zu einem Folge PROBLEM führt.. die IOS App "elgato - EVE" rafft das setstate nicht (ich syncronisier das ganze mit homebridge) und somit bleibt in der Applikation der Status der alte...
ich kann aber nicht "set FernseherWZ on" benutzen da ich sonst in einem endless loop lande... (da ja wieder alle Events getriggert werden)

Also noch mal in kurz:
- ich möchte das mein Dummy synchron dem Status bleibt
- ich hätte gerne das state und reading gesetzt sind, ohne dass ich in einem endlessloop lande...

Hat da jemand vllt einen Rat wie ich das machen kann ?

justme1968

wofür genau sollen die dummys sein? warum reichen die original devices nicht?

wenn es darum geht die aktivity per klick zu schalten: setz webCmd für den hub.

wenn es darum geht ein icon für die aktuelle activity zu haben: set devStateIcon für den hub.

wenn es um die siri steuerung geht: den hub kannst du direkt einbinden. es werden dann schalter für alle activities angelegt.

wenn es darum geht in bestimmten ansichten nur bestimmte activities zu erlauben: schau dir readingsGroup an. da kannst du über das commands attribut das drop down beeinflussen.

wenn es dir darum geht ein klickbares icon für bestimmte activities zu haben: schau dir readingsGroup an. du kannst über valueIcon ein icons für bestimmte reading werte konfigurieren und über commands festlegen was beim click basieren soll.

wenn es was ganz anders ist: nimm einen readingsProxy statt dem dummy:define kika readingsProxy hub:activity
attr kika genericDeviceType switch
attr kika setFn { return 'activity Fernsehen 15' if( $CMD eq 'on' );; return 'off';; }
attr kika setList on off
attr kika valueFn { return 'on' if( $VALUE eq 'Fernsehen' );; return 'off';; }

in dem beispiel wird beim klick oder über siri zusätzlich noch ein bestimmter kanal eingeschaltet.

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

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

2bedom

Hallo Andre,

wow soviele Lösungen, aber ich glaube, wenn ich das richtig einschätze was ich will ;) dann wirds ein readingProxy...

Ich möchte eigentlich nur:
- 2 Schalter die immer und egal bei was sauber angezeigt werden(ob ich per siri an/aus mache.. oder per fernbedienung oder per fhem webcmd)

eins ist mir nur nicht ganz klar
> wenn es um die siri steuerung geht: den hub kannst du direkt einbinden. es werden dann schalter für alle activities angelegt.
..was meinst du damit, ich hab den hub doch eingebunden und auch per autocreate die devices erstellen lassen... aber schalter für jede activity hab ich keine bekommen..

mit get harmonyWZ activities bekomm ich die liste..

15754823 Fernsehen
16374632 DVD schauen
15734796 TV + AVR
15735746 Musik hören
-1         PowerOff


und
### adapt dummy states according to harmony device state ###
define FernseherWZNotify notify HarmonyWZ:currentActivity.* { if (ReadingsVal("HarmonyWZ","currentActivity","") eq "Fernsehen") { fhem("setstate FernseherWZ on") } else { fhem("setstate FernseherWZ off") } }
define RadioWZNotify notify HarmonyWZ:currentActivity.* { if (ReadingsVal("HarmonyWZ","currentActivity","") eq "Musik hören") { fhem("setstate RadioWZ on") } else { fhem("setstate RadioWZ off") } }


... war ja nur ein behelf von mir das die zwei schalter richtig angezeigt werden in fhem wenn ich zb über die fernbedienung schalte..

aber ich glaube wie gesgat ich setz 2 readingProxies... die kann ich dann denke ich sauber per sprache steuern in "EVE"... ich probiers mal aus..
Fragen die Readingproxies in regelmäßigen Abständen oder bei veränderung des geproxten Devices nach um den state zu setzen ? ich gehe mal von zweiterem aus oder ?

dank dir vielmals..

2bedom

...also als kurzes Feedback...

ich habs jetzt über den readingsProxy gemacht scheint wunderbar zu funktionieren...
hab nur das problem dass mir "elgato - eve" über hombridge die state's nicht richtig syncronisiert anscheinend...

also die readings im hub etc passen immer... die proxies zeigen auch die richtigen icons etc an das geht alles.. jedoch zeigt es mir in der app an das ein device noch an sei.. trotz aktualisieren(durch runter ziehen in der app) behauptet diese das device sei noch an ..was natürlich siri stört, da ich dann nicht sagen kann "Siri mach die glotze an"... da kommt dann halt die glotze ist schon an.. ;/... muss mal sehen woran das liegt...

danke jedenfalls für die hilfe mit dem proxy...

justme1968

schau im debug bowser und auf der console was genau passiert. wenn sich in fhem state ändert siehst du das auf der homebridge console und auch das ein neuer wert gecached wird.

aber noch mal zurück: nur für siri brauchst du den umweg über die proxies nicht.
sobald der hub von homebridge erkannt wird wird dieser als homekit service mit einem switch pro activity angelegt und du kannst ihn in siri szenen verwenden.

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

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

2bedom

mit debug browser meinst du was genau ? (sorry für die doofe frage..) -> homebridge direct starten das ich sehen kann was er macht , also ohne forever etc oder meinst du was anderes ?

wie schalt ich den hub zu homebridge durch ? also welchen gerätetyp muss ich dort angeben?
die hab ich definiert > genericDeviceType:switch,outlet,light,blind,speaker,thermostat,THSensor

da ist das harmony hub ja nicht dabei oder ?...
..und du meinst wenn ich das hub einbinde generiert hombridge die activities als switch oder wie ? oder muss ich dazu noch was beitragen .) ?


BTW: Elgato Eve kommt mit den proxies genauso wenig zu recht ich glaub das ding hörcht auf irgend welche events die nur beim set XYZ on/off getriggert werden...

justme1968

auf den rechner auf dem hombridge läuft kannst du dich mit einem web browser nach port 8182 verbinden und dort cached anschauen.

du musst nichts angeben. keinen attribut setzen. der FILTER in config.json muss nur den hub mit erwischen. z.b. mit FILTER=hub als eigenen abschnitt.

in meinem beispiel hat der readingProxy on und off kommandos und die entsprechenden events.

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

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

2bedom

ok ich denk ich werds probieren den hub in den filter(in meinem fall dem room=homekit) zu stecken... die frage ist nur...

ich hab das folgende plugin installiert -> https://www.npmjs.com/package/homebridge-fhem
es gibt aber auch https://www.npmjs.com/package/homebridge-harmonyhub
wobei beim fhem auch harmony hub steht..  welche plugins hast du drin ?

und hmm wegen dem proxy ich kann dir nur sagen was ich hier beobachte.. in fhem passen die zustände, auch kann cih hier schalten .. in eve ..und nur bei den beiden gamel dingern zeigts mir nie den richtigen zustand an ...

danke für den debug mode , den kannte ich nicht..bei mir ist es übrigens port 8082... weist du wie oft der cache neugeschrieben wird ? .. also wie handled der den wechsel der zustände... ich mein bei den normalen schaltern gehts ja perfekt...

danke nochmals für die Hilfe bis hier her..

justme1968

du brauchst nur homebridge-fhem. das ist auch das einzige das ich verwende.

das andere harmony modul geht nicht über fhem sondern direkt auf den hub. es hat aber schon diverse probleme gemacht. unter anderem weil die zusätzlich benötigten node module scheinbar problematisch sind. ich kann dir aber nichts dazu sagen. ich verwende es nicht.

der homebridge zustand wird per longpoll aktualisiert. d.h. direkt 'live' das siehst du auch auf der konsole. so wie du es auch im event monitor von fhem siehst. den debug browser musst du aber von hand refreshen.

8082 stimmt natürlich.

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

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

2bedom

so hi ich nochmal ..

also ich hab das hub jetzt direkt eingebunden (durch den filter) es taucht auch auf.. jedoch bin ich mir unschlüssig wie ich die jetzt über siri schalten kann..
rein von der Manier her werden se als Switches angezeigt jedoch wenn ich in der console schaue unter subscriptions steht bei den commands..folgendes..

ein astreiner schalter:
.....
informId: 'LichtBad-D-firmware' },
onOff:
{ reading: 'state',
cmdOn: 'on',
cmdOff: 'off',
.....


eine harmony activity

....
'HarmonyWZ-activity':
[ { characteristic: undefined,
accessory:
{ mappings:
{ onOff:
{ reading: 'activity',
cmdOn: 'activity',
cmdOff: 'off',
informId: 'HarmonyWZ-activity' } },
name: 'HarmonyWZ',
alias: 'HarmonyWZ',
device: 'HarmonyWZ',
type: 'harmony',
model: '',
PossibleSets: ' activity:Fernsehen,DVD.schauen,TV.+.AVR,Musik.hören,PowerOff
....


so muss ich dann sagen "Hey Siri activity Fernsehen [ein/aus]".. oder "Hey Siri schalte Fernsehen ein/aus" ... funktioniert nämlich beides nicht so ganz ....

hast du mir da nochn Tipp ?

Grüße
Dom

justme1968

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

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

2bedom

Wie meinst?... Ich kann in Eva nur das Device Renaten aber nicht den Commander für on oder off... Zumindest wüsste ich nicht wo....

justme1968

du kannst in eve szenen anlegen. die szene hat einen namen für siri und dir einstellunf für alle parameter der devices die Teil der szene sind.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Guiuana

Hallo Leute!

Folgende Vorraussetzungen sind da:
- Raspberry Pi 2
- FHEM
- Homebridge
- Homebridge-FHEM Plugin
- 433MHz-Sender

Mittels Siri kann ich nun die Elro-Steckdosen schalten, wie ich will. Leider bekomme ich es nicht hin, auch meine Harmony-Szenen damit zu steuern. Eve findet zwar den Hub, aber nur als Schalter. Von FHEM werden alle Szenen und Geräte gefunden, diese können auch über die Oberfläche richtig aktiviert werden. Wie geht es jetzt weiter? Was muss man tun, damit dies auch mit Siri funktioniert?

Gruß,

Daniel

justme1968

der service für die harmony hat für jede szene einen schalter. diese kannst du jeweils in eine siri szene packen.

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

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