Hallo,
irgendwie war ich bei der "Schalterschnittstelle" davon ausgegangen, das hier auch die Schaltzustände (offen/geschlossen) übertragen werden. Fhem zeigt aber nur "toggle (to Broadcast)" - Broadcast ist klar, es ist nichts gepeert, aber wieso toggle? Mit toggle kann ich doch keine "definierten" Zustände am Actor erreichen. Wenn ich Toggle machen möchte, kann ich auch die Tasterschnittstelle nehmen - also wo ist hier der Sinn ?
Habe ich da etwas falsch eingestellt ? Oder kann man das über die Register steuern ? Den Sender habe ich bereits resettet und neu gepairt - aber das hat nichts gebracht. Muss ich das Device in Fhem löschen ?
Gruß Christoph
HM-SCI-3-FM
sendet on / off, deiner nur toggle ist richtig
Hallo,
wie kann ich das
Zitattrigger Short_154
mit userReadings zerlegen und nach gerader oder ungerader Zahl auswerten ?
Gerade wäre dann Schalter offen, ungerade wäre zu.
Gruß Christoph
Tausch ihn um ist einfacher
der sendet auch nur eimal, und nicht bis zu 10 mal, bei keinem ack
Hallo,
geht nicht, war ein Gebrauchtteil aus der Bucht. Also entweder den Trigger zerlegen oder einen Virtuellen Actor erstellen. Bei dem virtuellen Actor weiß ich allerdings nicht, wie man das macht. Virtuelle Switches kenne ich und auch vitruelle TC - aber einen virtuellen Actor ... da muss ich mal suchen gehen. Das Teil soll nichts schalten, sondern nur Statusmeldungen abgeben.
Gruß Christoph
kannst du einmal rohmessages des Schaltens schicken? ggf kommentiert, wann es offen und wann zu ist
Hallo Martin,
die Rohdaten kann ich erst heute Abend machen - der Trigger ist immer Short_xxx wobei xxx ein heraufzählender Zähler, der Gerade = Schalter offen, ungerade = Schalter zu. State ist immer toggle(to broadcast).
Ich habe schon gefunden - in 99_Utils.pm UntoggleDirect(device) und für einem virtuellen Actor Toggle-to-Counter... wobei ich da noch nicht so recht weiß wie das gehen soll.
Gruß Christoph
Hallo Martin,
hier kommen die Messages
vorab es würde immer der Kanal 1 genutzt, diese war am Anfang offen, und würde dann 3 mal geschlossen und wieder auf gemacht. Die ID vom HMLAN ist 23A821, die ID vom Device ist 1F0A69.
2014.06.16 16:23:17.761 0: HMLAN_Parse: HMLAN1 R:E21F2E5 stat:0000 t:145D3922 d:FF r:FFBF m:25 8610 21F2E5 000000 0AF4DD0E6461
2014.06.16 16:23:27.941 0: HMLAN_Parse: HMLAN1 R:E1F0A69 stat:0000 t:145D624D d:FF r:FFCC m:C5 8440 1F0A69 000000 019F
2014.06.16 16:23:39.192 0: HMLAN_Parse: HMLAN1 R:E1F0A69 stat:0000 t:145D8E42 d:FF r:FFC2 m:C6 8440 1F0A69 000000 01A0
2014.06.16 16:23:40.065 0: HMLAN_Send: HMLAN1 I:K
2014.06.16 16:23:40.071 0: HMLAN_Parse: HMLAN1 V:03C4 sNo:KEQ0851697 d:23A3BC O:23A821 t:145D91B9 IDcnt:0023
2014.06.16 16:23:49.943 0: HMLAN_Parse: HMLAN1 R:E1F0A69 stat:0000 t:145DB842 d:FF r:FFCB m:C7 8440 1F0A69 000000 01A1
2014.06.16 16:23:55.570 0: HMLAN_Parse: HMLAN1 R:E23BA2D stat:0000 t:145DCE3E d:FF r:FFCF m:0C 8610 23BA2D 000000 0AF4E60E6461
2014.06.16 16:23:56.137 0: HMLAN_Parse: HMLAN1 R:E22ADFD stat:0000 t:145DD075 d:FF r:FFCE m:A4 8610 22ADFD 000000 0AF4E60F6463
2014.06.16 16:23:59.943 0: HMLAN_Parse: HMLAN1 R:E1F0A69 stat:0000 t:145DDF54 d:FF r:FFC4 m:C8 8440 1F0A69 000000 01A2
2014.06.16 16:24:05.069 0: HMLAN_Send: HMLAN1 I:K
2014.06.16 16:24:05.075 0: HMLAN_Parse: HMLAN1 V:03C4 sNo:KEQ0851697 d:23A3BC O:23A821 t:145DF36A IDcnt:0023
2014.06.16 16:24:09.944 0: HMLAN_Parse: HMLAN1 R:E1F0A69 stat:0000 t:145E0666 d:FF r:FFCB m:C9 8440 1F0A69 000000 01A3
2014.06.16 16:24:18.694 0: HMLAN_Parse: HMLAN1 R:E1F0A69 stat:0000 t:145E2896 d:FF r:FFCE m:CA 8440 1F0A69 000000 01A4
2014.06.16 16:24:20.584 0: HMLAN_Parse: HMLAN1 R:E20640F stat:0000 t:145E2FF8 d:FF r:FFC7 m:ED 8670 20640F 000000 00E337
2014.06.16 16:24:20.676 0: HMLAN_Send: HMLAN1 S:SA51081BB stat: 00 t:00000000 d:01 r:A51081BB m:23 A112 23A821 20640F
2014.06.16 16:24:21.100 0: HMLAN_Parse: HMLAN1 R:RA50EB3AA stat:0081 t:145E30F8 d:FF r:FFC7 m:ED 8002 20640F 23A821 00
2014.06.16 16:24:21.237 0: HMLAN_Parse: HMLAN1 R:RA51081BB stat:0001 t:145E328A d:FF r:FFC7 m:23 8002 20640F 23A821 00
2014.06.16 16:24:21.334 0: HMLAN_Send: HMLAN1 S:+20640F,02,01,00
2014.06.16 16:24:21.335 0: HMLAN_Send: HMLAN1 S:SA5108448 stat: 00 t:00000000 d:01 r:A5108448 m:24 A001 23A821 20640F 010E
2014.06.16 16:24:21.642 0: HMLAN_Parse: HMLAN1 R:RA5108448 stat:0001 t:145E341F d:FF r:FFC7 m:24 8002 20640F 23A821 01023D003A
2014.06.16 16:24:21.740 0: HMLAN_Send: HMLAN1 S:+20640F,02,01,00
2014.06.16 16:24:21.741 0: HMLAN_Send: HMLAN1 S:SA51085E0 stat: 00 t:00000000 d:01 r:A51085E0 m:25 A001 23A821 20640F 020E
2014.06.16 16:24:22.047 0: HMLAN_Parse: HMLAN1 R:RA51085E0 stat:0001 t:145E35B4 d:FF r:FFC7 m:25 8002 20640F 23A821 01023D0039
2014.06.16 16:24:22.145 0: HMLAN_Send: HMLAN1 S:+20640F,02,01,00
2014.06.16 16:24:22.146 0: HMLAN_Send: HMLAN1 S:SA5108774 stat: 00 t:00000000 d:01 r:A5108774 m:26 A001 23A821 20640F 030E
2014.06.16 16:24:22.451 0: HMLAN_Parse: HMLAN1 R:RA5108774 stat:0001 t:145E3748 d:FF r:FFC7 m:26 8002 20640F 23A821 01023D003A
2014.06.16 16:24:22.467 0: HMLAN_Send: HMLAN1 I:+20640F,00,01,00
2014.06.16 16:24:28.509 0: HMLAN_Parse: HMLAN1 R:E24870F stat:0000 t:145E4EEE d:FF r:FFAB m:47 8653 24870F 000000 004101144200D743003D44FFC3
2014.06.16 16:24:30.075 0: HMLAN_Send: HMLAN1 I:K
2014.06.16 16:24:30.081 0: HMLAN_Parse: HMLAN1 V:03C4 sNo:KEQ0851697 d:23A3BC O:23A821 t:145E551B IDcnt:0023
Laut Event Monitor wird jedesmal ein Battery ok mit gesendet.
Gruß Christoph
Update: ich habe jetzt ein virtuelles Device angelegt und die Kanäle gepeert. Im v-Device bekomme ich jetzt on und off.
der swi 1F0A69 sendet trigger - ich nehme an, dass dies 6 mal geschaltet hat. Die Events sind identisch - fhem kann also nicht entscheiden, ob es ein on oder off sein soll (schade eigentlich).
Ich könnte statt "toggle" besser "Short" senden. Das spiegelt den trigger wieder, der ausgelöst wird. toggle ist ziemlich "alt" - auch so ein historisches überbleibsel.
on/off sollte nur kommen, wenn der channel der remote nicht definiert ist (was historisch ist und m.E. nicht mehr genutzt werden sollte)
ZitatIm v-Device bekomme ich jetzt on und off.
das ist ein fake. das virtuelle device toggelt bei jedem trigger.... was sollte es sonst tun... soll eine einfache simulation sein.
Hallo Martin,
ist schon klar - aber am Ende steht immer eine Nummer, also das Device zählt intern hoch (01A1, 01A2, 01A3,....). Ist die Zahl gerade, ist der Schalter offen, ist sie ungerade ist er geschlossen. Ich weis aber nicht, was z.b. bei einem Überlauf passiert und ob das nach einem Batteriewechsel immer noch so ist. Das mit dem Batteriewechsel kann ich testen - das mit dem Überlauf .... da müsste ich ja schon 65535 Schaltungen machen. Das dauert mir zu lange.
Gruß Christoph
Zitatalso das Device zählt intern hoch (01A1, 01A2, 01A3,....)
01 ist der 'level'
A1/A2/3 sind die zähler
ZitatIst die Zahl gerade, ist der Schalter offen, ist sie ungerade ist er geschlossen.
mutig.
schon klar, dass es immer alterniert. Aber wenn die Batterie gewechselt wird oder es einen reset gibt - fängt er dann anders an? Da ich es nicht garantieren kann, kann es nicht eingebaut werden.
Falls du es raustestest (langwierg...) kann man es einbauen. Muss aber sicher sein - immer.
ZitatIch weis aber nicht, was z.b. bei einem Überlauf passiert
wohl nichts - nach FF kommt 00
Zitatob das nach einem Batteriewechsel immer noch so ist
da hätte ich bedenken
Zitatdas mit dem Überlauf .... da müsste ich ja schon 65535 Schaltungen machen
nur 256.
Hallo Martin,
da hatte ich mir auch schon Gedanken drüber gemacht. Wie wäre es, das über ein Attribut zu steuern - also attr set_open even/odd - dann wäre man unabhängig und könnte das bei Bedarf umstellen.
Gruß Christoph
halte ich nicht für clever. Wenn es sich durch batteriewechsel "dreht" wiegt es den User in falscher sicherheit.
Man könnte odd/even ausgeben - dann hat der User den schwarzen Peter. Ich hatte dann das gefühl, ihn ins offene Messer laufen zu lassen - oder ich erkläre einen Wolf.... den dann doch die Hälfte falsch versteht.
Sinn macht es m.E. nur, wenn getestet ist, dass es nach Betteriewechsel IMMER gleich bleibt.
Hallo Martin,
morgen fahre ich für ein paar Tage weg. Danach werde ich das mal testen und die Batterie rausnehmen, warten einsetzen mal sehen, was passiert.
Gruß Christoph
ich denke, der test muss sein
1) Batterie raus, schalter ein, Batterie rein, schalten
2) Batterie raus, schalter aus, Batterie rein, schalten
Beginn der SCI immer bei 0/1 oder abhängig von schalter
Hallo Martin,
gerade getestet - es wird ab der aktuellen Schalterstellung angefangen zu Zählen. Ist der Schalter geschlossen ist gerade geschlossen und ungerade offen, ist der Schalter beim einlegen der Batterie offen ist gerade offen und ungerade geschlossen.
Wie sieht das mit dem Vorschlag aus, das pro Kanal mit einem Attribut gerade/ungerade zu steuern. Das müsste ja ggf. nur nach einem Batteriewechsel angepasst werden. Wenn er einmal läuft, ändert sich ja nichts. BTW 0 müsste als gerade angesehen werden, damit es passt.
Gruß Christoph
Hallo Christoph,
ZitatDas müsste ja ggf. nur nach einem Batteriewechsel angepasst werden
das halte ich für sehr kompliziert - und sehr fraglich. Das Device könnte auch einen reset machen.
Für dich ist es einfach, da du den Zusammenhang kennst - die Breite Masse wird es schwer verstehen - und nach Batteriewechsel vergessen umzustellen. Gefällt mir nicht.
Was ich anbieten kann ist, ein evenOdd reading. Das kannst du mit eventmap oder besser stateformat dazu nutzen. Wenn es der User versteht und will kann er es nutzen. Wer es nicht versteht sollte es auch nicht nutzen.
Gruss Martin
Hallo Martin,
ich habe den SWI mit einem virtuellem Device gepeert. Internals:
DEF FF010101
NAME V_Device_Btn1
NR 327
STATE OFF
TYPE CUL_HM
chanNo 01
device V_Device
peerList Funkschalter_01_Sw_01,
Readings:
2014-06-23 17:09:16 peerList Funkschalter_01_Sw_01,
2014-06-24 16:38:28 state OFF
2014-06-24 16:38:28 trigLast Funkschalter_01_Sw_01 :short
2014-06-24 16:38:28 trig_Funkschalter_01_Sw_01 short
2014-06-24 16:38:28 virtActState OFF
2014-06-24 16:38:28 virtActTrigNo 4
2014-06-24 16:38:28 virtActTrigRpt 1
2014-06-24 16:38:28 virtActTrigType short_Release
2014-06-24 16:38:28 virtActTrigger Funkschalter_01_Sw_01
Helper:
trgLgRpt 0
Role:
chn 1
vrt 1
Attributes:
alias Garagentüre
devStateIcon ON:fts_door_right@green OFF:fts_door_right_open@red
group Fenster
icon fts_door_right
model virtual_3
peerIDs 1F0A6901,
room Garten-Garage
sortby 02
Jetzt kann ich über das devStateIcon das einfach anpassen. Wenn sich was ändert, einfach on und off tauschen. Das geht genau so gut wie ein Reading mit EventMap zu bearbeiten. Von mir aus kann das so bleiben. Ist sauberer so.
Trotzdem Danke
Gruß Christoph