AVR-Netio - ECMD - gezielte Abfrage der digitalen Eingänge

Begonnen von rsteinkuhl, 10 September 2014, 10:50:32

Vorheriges Thema - Nächstes Thema

Tueftler1983

Hallo habe jetzt auch mein AVR NET IO in Fhem eingebunden klappt auch alles soweit aber ich hätte gerne das wenn der digitale Eingang 1 kurz high wird ich in Fhem 10 sek die meldung bekomme das der Eingang geschaltet wurde.

Hintergrund ist:
Eingang 1 ist mit meiner Türklingel gekoppelt und jetzt hätte ich im Floorplan gerne 10 Sek oder auch 30 sek die Meldung das es geklingelt hat ( im Floorplan ein Klingel Symbol das die Farbe ändert und eine Puschbullet Nachricht)

das klappt auch soweit aber halt nur für genau die zeit solange der Eingang geschlossen ist.

Jemand ne Idee??

kpwg

Nicht so richtig, aber eine gut funktionierende Lösung für ein ähnliches Problem habe ich gefunden.

Dabei nutze ich "Steckdose_B", welche nur on oder off kennt. Dabei hilft mir readingsproxy, womit ich nun auch on-for-timer und toggle nutzen kann.

Ein Auszug aus der fhem.cfg:
define Luefter readingsProxy Steckdose_B
attr Luefter setList on off


Ich steuere also den Lüfter, der an Steckdose B hängt. Vielleicht kannst Du damit etwas anfangen?

Mr.1000V

Ich habe ein AVR-NET-IO mit neuestem Ethersex am Start, Ausgänge samt Relais schalten funzt auch einwandfrei. Jetzt wollte ich die Eingänge abfragen.....

Bei mir funktioniert die Abfrage bzw. das aktive senden von Befehlen vom AVR-NET-IO an fhem nicht.
Habe alles genau so gemacht wie oben beschrieben. In der make menuconfig alles richtig gesetzt und mehrfach überprüft. Ich vermute den Fehler beim compilieren (make). Dort erscheint nämlich folgende Meldung während der Compilierung:

In file included from services/watchcat/watchcat.c:50:0:
services/watchcat/user_config.h:14:141: Warnung: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     { .port = 0, .pin = 0,  .rising = 1, .address = { HTONS((192 << 8) | 168), HTONS((178 << 8) | 47) }, .message = watchcat_text0, .func = ecmd_sender_send_command },
                                                                                                                                             ^
services/watchcat/user_config.h:14:141: Anmerkung: (nahe der Initialisierung für »ecmd_react[0].func«)
services/watchcat/user_config.h:15:141: Warnung: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     { .port = 0, .pin = 0,  .rising = 0, .address = { HTONS((192 << 8) | 168), HTONS((178 << 8) | 47) }, .message = watchcat_text1, .func = ecmd_sender_send_command },
                                                                                                                                             ^
services/watchcat/user_config.h:15:141: Anmerkung: (nahe der Initialisierung für »ecmd_react[1].func«)
services/watchcat/user_config.h:16:141: Warnung: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     { .port = 0, .pin = 1,  .rising = 1, .address = { HTONS((192 << 8) | 168), HTONS((178 << 8) | 47) }, .message = watchcat_text2, .func = ecmd_sender_send_command },
                                                                                                                                             ^
services/watchcat/user_config.h:16:141: Anmerkung: (nahe der Initialisierung für »ecmd_react[2].func«)
services/watchcat/user_config.h:17:141: Warnung: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     { .port = 0, .pin = 1,  .rising = 0, .address = { HTONS((192 << 8) | 168), HTONS((178 << 8) | 47) }, .message = watchcat_text3, .func = ecmd_sender_send_command },
                                                                                                                                             ^
services/watchcat/user_config.h:17:141: Anmerkung: (nahe der Initialisierung für »ecmd_react[3].func«)
services/watchcat/user_config.h:18:141: Warnung: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     { .port = 0, .pin = 2,  .rising = 1, .address = { HTONS((192 << 8) | 168), HTONS((178 << 8) | 47) }, .message = watchcat_text4, .func = ecmd_sender_send_command },
                                                                                                                                             ^
services/watchcat/user_config.h:18:141: Anmerkung: (nahe der Initialisierung für »ecmd_react[4].func«)
services/watchcat/user_config.h:19:141: Warnung: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     { .port = 0, .pin = 2,  .rising = 0, .address = { HTONS((192 << 8) | 168), HTONS((178 << 8) | 47) }, .message = watchcat_text5, .func = ecmd_sender_send_command },
                                                                                                                                             ^
services/watchcat/user_config.h:19:141: Anmerkung: (nahe der Initialisierung für »ecmd_react[5].func«)
services/watchcat/user_config.h:20:141: Warnung: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     { .port = 0, .pin = 3,  .rising = 1, .address = { HTONS((192 << 8) | 168), HTONS((178 << 8) | 47) }, .message = watchcat_text6, .func = ecmd_sender_send_command },
                                                                                                                                             ^
services/watchcat/user_config.h:20:141: Anmerkung: (nahe der Initialisierung für »ecmd_react[6].func«)
services/watchcat/user_config.h:21:141: Warnung: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     { .port = 0, .pin = 3,  .rising = 0, .address = { HTONS((192 << 8) | 168), HTONS((178 << 8) | 47) }, .message = watchcat_text7, .func = ecmd_sender_send_command },
                                                                                                                                             ^
services/watchcat/user_config.h:21:141: Anmerkung: (nahe der Initialisierung für »ecmd_react[7].func«)



Meine Watch IO changes (and react) sieht so aus:

ECMDTCP(PA0, RISING, 192.168.178.47, set PA0 on\n\n)
ECMDTCP(PA0, FALLING, 192.168.178.47, set PA0 off\n\n)
ECMDTCP(PA1, RISING, 192.168.178.47, set PA1 on\n\n)
ECMDTCP(PA1, FALLING, 192.168.178.47, set PA1 off\n\n)
ECMDTCP(PA2, RISING, 192.168.178.47, set PA2 on\n\n)
ECMDTCP(PA2, FALLING, 192.168.178.47, set PA2 off\n\n)
ECMDTCP(PA3, RISING, 192.168.178.47, set PA3 on\n\n)
ECMDTCP(PA3, FALLING, 192.168.178.47, set PA3 off\n\n)


Ich habe das Ganze schon mit einen ATMEGA32 als auch mit einem ATMEGA644 probiert, aber immer die gleiche Fehlermeldung beim Compilieren.

Wenn ich den Befehl
echo "set PA0 on" | nc 192.168.178.47 2701
absetze, dann wird mein PA0 auf on gesetzt, also auf fhem Seite ist alles ok.

Würde mich sehr freuen wenn hier jemand helfen kann, stecke nicht so tief in den Compilern, dass ich diese Meldung deuten oder gar beheben kann.....