FS20 Stapelverarbeitung per Schalter_Dummy

Begonnen von micha278, 08 Februar 2015, 18:59:18

Vorheriges Thema - Nächstes Thema

micha278

Guten Abend, beieinander.
Ich muss nun voller Verzweiflung mein Problem hier mal posten.
Bewusst im Anfängerbereich, ich funke zwar seit 2011, hab aber noch wenig probiert.
Mein Problem:
Ich habe einen Schalter_Dummy angelegt, dieser schaltet nacheinander einige Verbraucher ab, quasi der "ich-geh-ins-Bett" Schalter.
Dabei kommt es in unregelmäßigen Abständen vor, dass in der Verarbeitung ein Gerät eingeschaltet bleibt.
Nachtriggern hilft nicht, es bleibt einfach an. Ich habe nun einen neuen CUL gekauft, den mit der 36cm Antenne, ich dachte,
die Drahtantenne hat eine geringere Reichweite. Leider ist das Problem damit nicht behoben. Im Log steht nichts drinnen, kein ERR.
Weiterhin muss ich anfügen, dass mit der sunset Funktion zuverlässig alle Verbraucher eingeschaltet werden, nur dieser "Bettegehen"
zickt rum. Vielleicht gehe ich komplett falsch heran, ich füge mal meinen Code hier an, vielleicht hat jemand eine Idee.
Auf ein anderes System möchte ich ehrlich gesagt nicht schwenken, dafür habe ich FS20 schon zu sehr integriert (ca 25 Empfänger)
Mein Code:

define BetteGehen FS20 1234 98
attr BetteGehen IODev CUL
attr BetteGehen room Sammel
define act_on_BetteGehen notify BetteGehen {\
fhem("set Buffet off;;sleep 1.0 ;;\
         set Baum off;;sleep 1.0;;\
         set TvLamp off;;sleep 1.0 ;;\
         set KuecheArb off;;sleep 1.0;;\
         set Vitrine off;;sleep 1.0;;\
         set Fernseher off;; sleep 1.0;;\
         set Terasse off;; sleep 1.0;;\
         set Blume off;; \
}

Die Sleeper habe ich drinnen, um dem System ein wenig Zeit zu geben.
Sollte ich an diese Sache anders heran gehen? Automatisieren kann ich es nicht,
ich weiß ja heute nciht, wann ich morgen ins Bett gehe ;)
Hat jemand eine Idee? Es bleibt nicht immer der gleiche Empfänger an, willkürlich
einer aus der Liste, so dass ich die Steckdosenempfänger ausschließen möchte. Reichweite muss passen,
maximal 10m von der Antenne entfernt. Es gibt aber auch Tage, an denen alles abgeschaltet wird.
Ich bin ratlos. Der Server (RasPi) ist aktuell, die Firmware vom CUL auch.
Danke für die Anregungen.
Gruß Michael


lukasbastelpeter

Das Problem kenne ich, ich behaupte es liegt daran, dass FHEM denkt: Ist schon aus, brauche ich nicht noch mal aus machen?!
Aber ob das so stimmt weiß ich nicht.
Bei mir hat es geholfen CUL-Raw-Befehle zu senden...
# Raspberry Pi
# Homematic, Z-Wave
# HUE, Tradfri
# Harmony
# ESP8266  Basteleien per MQTT

micha278

Bin ich froh im Anfängerbereich gepostet zu haben :)
Was für Befehle? Ja, ich habe schon gesucht, kann aber damit nichts
so richitg anfangen. CUL-Raw? Kleines Beispiel?

lukasbastelpeter

lies dir mal das hier durch:
http://forum.fhem.de/index.php?topic=15033.0

vielleicht hilt es dir ein bisschen,

Im Prinzip hast du FS20 definiert... per define bla fs20
Fhem übersetzt die Befehle in Raw, und schickt sie an den Cul, der versendet dann die unsichtbaren 0 und 1 en....

Du kannst aber auch per "set mein_allerliebster_Cul raw 0101010101001000101010101010101"
den Befehl aussenden, wie genau der teil hinter raw aussehen muss weiß ich aber leider nicht... Das müssten mal andere hier verraten ;)


Hoffe, dass ich mich mit den Theorien nicht zu weit aus dem Fenster gelehnt habe :D
# Raspberry Pi
# Homematic, Z-Wave
# HUE, Tradfri
# Harmony
# ESP8266  Basteleien per MQTT

Brice

Wenn nachtriggern nicht hilft: könnte sein, dass dein System in die 1% Regel läuft: http://www.fhemwiki.de/wiki/1%25_Regel. Was läuft denn für ein Funkverkehr vor der "BetteGehen-Funktion"? Dein FS20-Zoo scheint ja recht umfangreich zu sein :-)

Ich habe auch so einen "Alles_Aus"-Dummy, der verschiedene FS20-, FritzDect200 und ELRO-Steckdosen, insgesamt 7 als Structure zusammengefasst, ausschaltet. Das von dir beschriebene Problem habe ich allerdings noch nicht feststellen können. Wobei FritzDect ja nicht im FS20-Protokoll funkt.

Stefan
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

The-Holgi

Hallo, hast du es schonmal mit "structure" versucht ?
Klappt bei mir mit 7 Elro Dosen einwandfrei.

Gruß Holgi
Raspberry Pi 5

micha278

#6
Ersteinmal vielen Dank, ja, ich soll euch aus dem FS20 Zoo recht herzlich grüßen ^^
Ja, ich habe die Lampen so bezeichnet, was sie beleuchten ^^

a) in die 1% Regel komm ich nicht, da würde was im log stehen (ich wollte aus Jux mal einen
Terror-Schalter bauen, wo alles nacheinander an/aus geht, da konnte ich die ERR im Log sehen, bzgl.
der 1% Regel, jaaa, nach dem 5. Bier kommt man so auf Ideen ^^)

Ok, also structure hab ich noch nicht probiert.
Wie müsste das aussehen? Muss ich dann bsw. der Lampe "Baum" noch was mitgeben?
die sieht derzeit so aus:

   define Baum FS20 1234 31
   attr Baum IODev CUL
   attr Baum model fs20di
   attr Baum room Wohnzimmer


b) RAW: ok, alles klar, sozusagen "MaschinenCode" - wo bekomme ich den passenden denn her?

Ich geh erstmal füttern ^^ :D

The-Holgi

Hallo,
so in etwa: define <name> structure <struct_type> <dev1> <dev2> ...
Sieht bei mir so aus:
define DraussenAlle structure room Laube_Bank Laube_Edision Laube_Luefter Laube_Schalkelogo Laube_Tisch Laube_Kamera Aussenleuchte


Gruß Holgi
Raspberry Pi 5

micha278

hm ok. Und am Schalter? Steuere ich dann den structure namen an?
Anfängerfragen .... ^^

DANKE!!!!!!!

lukasbastelpeter

Ja, du schreibst: set deineStrucutre off oder on, wie du lustig bist.
# Raspberry Pi
# Homematic, Z-Wave
# HUE, Tradfri
# Harmony
# ESP8266  Basteleien per MQTT

Zrrronggg!

#10
Im Gegensatz zu den meisten Vorrednern glaube ich nicht das Structure oder Raw hilft. Deine Konfig ist richtig ( wenngleich auch mit unnötigem Balast versehen) und müsste funktionieren.

Insbesondere sendet FHEM im Bereich FS20 ein off wenn man ihm das sagt. No matter what.
Diese Annahme hier:
ZitatDas Problem kenne ich, ich behaupte es liegt daran, dass FHEM denkt: Ist schon aus, brauche ich nicht noch mal aus machen?!
ist in eher unzutreffend. Da FS20 nicht bidirektional ist hat FHEM null Infos über den Zustand des Schalters.

Das ist meiner Auffassung nach ein Problem im Funkbereich.


Denkbar ist z.b. zu Zeiten wo du ins Bett gehst der berühmte Funkkopfhörer des Nachbarn, der abends stört, aber morgens (sunset) eben nicht.

1. Antenne des Cul anders ausrichten. 36 Zentimeter  aka 1 Lambda hat starke Richtwirkung und kann daher kontraproduktiv sein. Mal um 90 Grad drehen.

2. MANCHMAL hilft es einen EINschaltbefehl zu senden um auszuschalten:
set lamp on-for-timer 0.25

Schaltet die Lampe nach einer viertel Sekunde aus. Warum das manchmal besser ist weiss ich nicht.

Ich schlage als Alternative vor mal dieses zu testen:

define act_on_BetteGehen notify BetteGehen set Buffet on-for-timer 0.25 ;; set Baum on-for-timer 0.25 ;; ...
(oder mit Zeilenumbruch formatieren)

oder ganz Brutal:
define act_on_BetteGehen notify BetteGehen set Buffet on-for-timer 0.25 ;; set Buffet off ;; set Baum on-for-timer 0.25 ;; set Baum off...

Es ist natürlich nicht nötig FHEM-Befehle an Perl zu übergeben { } nur um Perl dann zu sagen, dass es doch nur Fhembefehle sind: fhem("...")

Die Pausen sind auch unnötig, das bringt nichts.

Wenn man das so macht:
define act_on_BetteGehen notify BetteGehen {\
fhem("set Buffet off;;sleep 1.0 ;;\
         set Baum off;;sleep 1.0;;\
         set TvLamp off;;sleep 1.0 ;;\
         set KuecheArb off;;sleep 1.0;;\
         set Vitrine off;;sleep 1.0;;\
         set Fernseher off;; sleep 1.0;;\
         set Terasse off;; sleep 1.0;;\
         set Blume off;; \
}

fehlt meiner Aufassung nach übrigens ein ") am Ende vor der geschweiften Klammer.

Besser die Perlkapselung gleich weglassen.

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

TeeVau

Guck dir doch einmal das Modul LightScenes an. Das macht genau das was du, meiner Meinung nach, vor hast.
Bei mir läuft LightScenes mit FS20 ohne Probleme
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

micha278

#12
Okokokok, viele Antworten.

a) LightScenes schau ich mir an
b) structure schalten probier ich aus
c) die Antwort vom "Zrrronggg!" scheint mir seht plausibel, ja, die " fehlen.
Ich habe gekürzt, da steht noch mehr im Original... ich probiere das on-for-timer mal.
Die Antenne möchte ich auch ausschließen, ich hatte gleiches Theater vorher mit der Drahtantenne
Ausrichten kann ich versuchen, dann müssten aber alle Empfänger ungünstig platziert sein,
es trifft ja jeden mal... völlig durcheinander mit verschiedenen Abständen. Ich versuche mal die reinen FHEMbefehle mit ohne Pausen und werde
berichten. Als ich die Pausen nicht drinnen hatte, blieben mehr Verbraucher an. Funkkopfhörer oder störende Nachbarn kann ich
ausschließen, die Nachbarn sind alle Luftlinie 30-60m weg, also kein dicht besiedeltes Gebiet. 
Vielleicht ärgert mich der BND ^^

Zrrronggg!

#13
ZitatDie Antenne möchte ich auch ausschließen
Das sollte man nie tun. Funk ist leider keine exakte Wissenschaft und da gibts manchmal Sachen die an Voodoo grenzen. Generell sind alle Geräte die in Richtung Spitze oder Basis einer Lambda Antenne liegen nicht gut versorgt. Je kürzer die Antenne ist, desto Kugelförmiger das Abstrahlbild.

Gut, wenn es mal diese und mal jene Devices trifft ... seltsam.


Ich gehe aber grundsätzlich davon aus, dass das Problem zwischen CUL und FS20 Aktor liegt, höchstens noch im CUL. Wenn ich recht habe ist egal, WIE FHEM genau die Befehl übermittelt, also per LightScene (macht ja nichts anderes als eine weitere Benutzerebene drüberstülpen, die einen davon befreit "selber" set Lamp off auszulösen) oder Structure oder RAW.

Um "Fehler" in Fhem oder auch nur der Übertragung ins CUL komplett auszuschliessen sollte man sich lieber erstmal mit X61 ansehen, was am CUL los ist.
Wenn da alle Befehle ankommen und abgesetzt werden - wovon ich ausgehe - dann kann man alle alternative "Befehlsauslösungsmethoden" vergessen, weil die auf Ebene des CUL keinen Einfluss mehr haben.

Siehe hier:
http://www.fhemwiki.de/wiki/CUL

Wenn da alles in Ordnung ist und meine "Tricks" auch nicht helfen, würde ich als nächstes die Bandbreite des CUL etwas Aufweiten auf z.b. 464 khz. Oder/und die Sendefrequenz verändern, erstmal auf genau 868,35 MHz (anstatt default, der glaube ich 868,30 ist.)


Zudem, wenn du Nachbarn auschliessen kannst, welches Geräte das Funkstörungen verursachen könnte läuft bei dir selber abends (und ist morgens aus).

Denke da an ALLES.

Es hat hier im Forum schon Fälle von Funksteckdosen gegeben die plötzlich zu Störsendern wurden (obwohl sie eigentlich gar nicht senden können)



FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

micha278

Jetzt muss (kann) ich eine erste Rückmeldung geben.
Offenbar hat es geholfen, die Befehle direkt und Stumpf rauszuballern, statt fhem("{....
Ich hatte seit dem keine vergessenen Empfänger mehr.
Die Antenne wird auch einen Teil dazu beitragen, die Verbesserung ist deutlich spürbar,
jetzt komm ich bis an die 80m ran, mit Hauswand dazwischen. Fetzt!
Ich danke erstmal allen für die Tipps, ich hoffe, ich muss den Thread nicht nochmal hochholen
Danke Micha