433MHz Signale einlesen / "Unknown code .... help me!"

Begonnen von sabom.2d, 20 Januar 2016, 14:46:36

Vorheriges Thema - Nächstes Thema

sabom.2d

Hallo,

ich befinde mich gerade in der Lernphase zu fhem und 433Mhz Sender/Receiver.
Hab mehrere Arduinos mit 433Mhz Sendern und einen Arduino mit 433Mhz Empfänger mittels Firmata an einen Raspi angekoppelt.
Funksteckdosen schalten funktioniert auch soweit. Ach Onewire hab ich zum Laufen bekommen.

Nun wollte ich mich mal an das Einlesen eines Bewegungsmelders per 433MHz Empfänger rangeben, weiß aber jetzt nicht weiter.

Definition in der fhem.cfg

#ArduinoUno als Empfänger
define Arduino3 FRM 3032 global
attr Arduino3 room Arduinos
define 433EMPF FRM_RCIN 2
attr 433EMPF IODev Arduino3


fhem hat auch automatisch danach angelegt:

define IT_101F10FFFF IT 101F10FFFF 0F F0
attr IT_101F10FFFF IODev 433EMPF
attr IT_101F10FFFF room IT
define FileLog_IT_101F10FFFF FileLog ./log/IT_101F10FFFF-%Y.log IT_101F10FFFF
attr FileLog_IT_101F10FFFF logtype text
attr FileLog_IT_101F10FFFF room IT


Aber wie gehts jetzt weiter, wie werte ich Bewegungen aus?

Im Log finde ich dazu noch folgende (Fehler-?)Meldung, zu der ich leider auch mit Suche im Netz nicht weitergekommen bin:

14:01:32 4: message: 13485404, 24, 520, 1, 101F10FFFF10, ARRAY(0x2621de8)
14:01:32 5: 433EMPF dispatch icdc55c
14:01:32 3: Code 10 not supported by IT_101F10FFFF.
14:01:32 3: Code 10 not supported by IT_101F10FFFF.
14:01:32 3: 433EMPF: Unknown code icdc55c, help me!


13585404 hab ich auch mit dem reinen arduino-test sketch ermittelt.
fhem empfängt also anscheinend den code des Bewegungsmelders, aber bei tristate sagt er ja schon ist die 10 am Ende zu viel.

Was fehlt hier also noch, damit die Fehlermeldungen verschwinden und wie handel ich einen Alarm nun weiter ab?


sabom.2d

Update:

Hab jetzt desweiteren mit einem Wassermelder experimentiert. Es werden definitiv Daten empfangen, da mittels autocreate sowohl für den Bewegungsmelder als auch für den Wassermelder devices angelegt werden, incl. logfile.

#Wassermelder
define IT_F01F0F0FFF IT F01F0F0FFF 0F F0
attr IT_F01F0F0FFF IODev 433EMPF
attr IT_F01F0F0FFF room IT
define FileLog_IT_F01F0F0FFF FileLog ./log/IT_F01F0F0FFF-%Y.log


Leider wird hier aber nicht geloggt.

Auch ein notify auf den Bewegungsmelder


define Bewegungsmelderon notify IT_101F10FFF:on ;; set Bewegung.dum on


bringt mich nicht weiter, so wie ich es sehe ändert sich der status von IT_* überhaupt nicht, steht ständig auf off.

Im IOdev 433Empf sind aber die readings aufgelistet:


Readings
bitCount
24
2016-01-22 14:22:57
delay
520
2016-01-22 14:22:57
protocol
1
2016-01-22 14:22:57
reading
off
2016-01-19 08:12:11
state
Initialized
2016-01-22 12:57:10
tristateCode
101F10FFFF10
2016-01-22 14:22:57
value
13485404
2016-01-22 14:22:57


diese werden auch regelmäßig bei jedem signal aktualisiert, ausser der Wert "reading", der steht immer noch auf dem Datum, als 433Empf definiert wurde......
reading  off  2016-01-19 08:12:11

Kann es evtl, mit dem reading des tristateCode zusammenhängen, der hier am Ende noch eine 10 dranhängen hat? Das meckert ja auch die Fehlermeldung an:
Code 10 not supported by IT_101F10FFFF


Kann mir jemand weiterhelfen, wie ich jetzt auf ein Signal des Bewegung/-Wassermelders reagiere und damit die Fehlermeldung wahrscheinlich auch in den Griff bekomme? Ich hab schon das komplette Forum nach den "Unknown codes" durchsucht, komme aber ohne konkrete Hilfe nicht weiter.

Puschel74

Spezielle Fragen (so wie deine) zu IT sollten, man glaubt es kaum  ;) , besser unter Intertechno gestellt werden.
Dafür haben wir ja die unterschiedlichen Unterforen.
Verschieben kannst du selbst.

Nur kurz zum notify:
Wenn du im EventMonitor KEINE Events siehst sieht auch FHEM keine und es wird weder geloggt noch ein notify getriggert.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

sabom.2d

#3
Hallo Puschel,

ja, dass es einen Intertechno-Bereich gibt hab ich leider erst bemerkt als ich den Fred schon eröffnet hatte. Mir war aber in dem Moment auch nicht klar, dass dies ein spezielles Intertechno Problem ist.
Dachte mir aber dann schon, dass es dort besser aufgehoben wäre, wußte nur nicht, wie man es verschiebt, und vor allem, dass man es selber erledigen kann. Dann werd ich das jetzt mal ändern.

Zu Deinem Hinweis zu den Events, Ich denke ich sehe ja Events im device 433EMPF, aber es kommt eben zu diesen seltsamen Unknown Code Meldungen....

2016.01.22 18:21:51 4 : message: 5050704, 24, 496, 1, F01F0F0FFF00, ARRAY(0x1acaf40)
2016-01-22 18:21:51 FRM_RCIN 433EMPF value: 5050704
2016-01-22 18:21:51 FRM_RCIN 433EMPF tristateCode: F01F0F0FFF00
2016-01-22 18:21:51 FRM_RCIN 433EMPF bitCount: 24
2016-01-22 18:21:51 FRM_RCIN 433EMPF delay: 496
2016-01-22 18:21:51 FRM_RCIN 433EMPF protocol: 1
2016.01.22 18:21:51 5 : 433EMPF dispatch i4d1150
2016.01.22 18:21:51 3 : Code 00 not supported by IT_F01F0F0FFF.
2016.01.22 18:21:51 3 : Code 00 not supported by IT_F01F0F0FFF.
2016-01-22 18:21:51 FRM_RCIN 433EMPF UNKNOWNCODE i4d1150
2016.01.22 18:21:51 3 : 433EMPF: Unknown code i4d1150, help


Und es werden ja auch die beiden IT_* devices erzeugt.....
Dann hoffe ich jetzt mal auf den entscheidenden Hinweis, wo ich hier dran drehen muß.

Danke.

sabom.2d

#4
So, nach langem suchen und lesen und viel "try and error" hab ich nun eine Lösung gefunden, zumindest auf die ankommenden Signale der Sender reagieren zu können:
( Ist leider nicht auf meinen Mist gewachsen, mein Dank gilt hier erstmal blueberry63:
http://forum.fhem.de/index.php/topic,22320.msg172041.html#msg172041)


#Arduino und FRM device definieren
define Arduino3 FRM 3032 global
define 433EMPF FRM_RCIN 2
attr 433EMPF IODev Arduino3

# Dummy gegen Mehrfach-Trigger
define d_empf433 dummy

#notify zum Alarm
define n_AlarmFB notify 433EMPF:.*134.* { \
  if (ReadingsVal("433EMPF","value","0") == 13485404) { \
    if (ReadingsVal("d_empf433","state","") ne "on") { \
      fhem ("set d_empf433 on");; \
      fhem ("define a1 at +00:00:10 set d_empf433 off");; \
  };; \
  };; \
}


Die "unknown code" Meldungen kommen zwar immer noch, aber wichtig ist mir ja nur, mitzubekommen, dass ein Signal ankommt, auf das ich dann reagieren kann.
So sind dann auch die beiten IT_* devices völlig überflüssig. Es reicht mir FRM_RCIN abzufragen. Sowas in der Art hatte ich mir auch schon gedacht.

Jetzt kann ich mich endlich der weiteren Behandlung widmen.....