Ankündigung

Einklappen
Keine Ankündigung bisher.

Logic und Howto für 433Mhz Steckdosen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Netsrac80
    antwortet
    Nein, es sind deutlich mehr. Du legst z.B. in 4 Funksteckdosen den Systemcode fest. z.B. 10000 und stellst den Gerätecode je auf 1,2,3 oder 4. Wenn Du weitere Funksteckdosen hast, machst du einfach den nächsten Systemcode auf z.B. 10001 und kannst dort wieder die Gerätecodes 1-4 vergeben. Das ganze geht für jede Kombination von 00000 - 11111.

    Ich denke damit sollte die Anzahl der möglichen Endgeräte für einen normalen Haushalt nicht ausgeschöpft werden können.

    PS: Es gibt von diesem System auch Lampensockel und Außensteckdosen falls jemand den Weihnachtsbaum im Garten auch schalten möchte.

    Was ich im oberen Post vergessen habe und Sicherheitsrelevant ist.

    Jeder kann sich natürlich mit einer Fernbedienung diesem Funksteckdosensystem vor eurer Haus/Wohnung stellen und die Endgeräte ebenfalls an- und abschalten. Er muss dazu nur den Systemcode wissen/raten. Das ist aber ein generelles "Problem" dieser 433Mhz Technik und hat nichts speziell mit der Anwendung im Raspi zu tun.

    Grüße
    Carsten

    Einen Kommentar schreiben:


  • Monti
    antwortet
    Interessante Alternative zu den deutlich teureren CUL-Lösungen.

    Man hät vier unabhängige (Funk-)Kanäle?

    Einen Kommentar schreiben:


  • Netsrac80
    hat ein Thema erstellt Logic und Howto für 433Mhz Steckdosen.

    Logic und Howto für 433Mhz Steckdosen

    Hallo,
    ich habe jetzt eine Zeit lang damit verbracht die 433Mhz Steckdosen aus dem Baumarkt

    Suchergebnis auf Amazon.de für: CSL steckdose

    über die SmartVisu mit UZSU etc. schaltbar zu machen. Der WAF ist wegen der nahenden Weihnachtszeit bei uns enorm hoch weil so die ganze Weihnachtsdeko für einen relativ schmalen Taler via Tablet und Zeitschaltuhr schaltbar gemacht werden kann.

    Hier nun für euch meine Erkenntnisse:

    1. Ihr benötigt Hardware um euren Raspi auf 433Mhz Sendefähig zu machen. Ich habe diese verwendet:

    Sende-und Empfangsmodul

    Um die mit dem Raspi zu verbinden sind 3 Stück Female-Female Steckbrücken und Schrumpfschlauch zum späteren Einpacken der Sendeplatine hilfreich.

    Steckbrücken

    2. Raspi lernt sprechen
    Der Raspi muss über die GPIO-Schnittstellen mit dem Sendemodul sprechen können. Dafür gibt es ein vorgefertigtes Projekt das alles super erklärt hier:

    https://raspiprojekt.de/anleitungen/...owall=&start=1

    Haltet euch daran und nutzt GPIO17.

    Wichtig!!: Anhand der Anleitung darf nur root Schaltbefehle absetzen.

    Damit würde allerdings das ganze nicht im SmartHome laufen. Daher ladet euch die Software von Github herunter wie in der Anleitung oben angegeben. Exportiert dann den GPIO in der Kommandozeile mit "gpio export 17 out" damit dieser Port auch als Nicht-Root genutzt werden kann.

    Im Verzeichniss der Heruntergeladenen Software findet ihr die Datei send.cpp. Ändert diese mit wiringPiSetup() zu wiringPiSetupSys() um auch Nicht-Root Benutzern zu gestatten einen Befehl zu senden.

    Insgesamt muss das dann so aussehen:

    Code:
    int PIN = 17;
    char* systemCode = argv[1];
    int unitCode = atoi(argv[2]);
    int command = atoi(argv[3]);
    
    if (wiringPiSetupSys() == -1) return 1;
       printf("sending systemCode[%s] unitCode[%i] command[%i]\n", systemCode, unitCode, command);
       RCSwitch mySwitch = RCSwitch();
       mySwitch.enableTransmit(PIN);
    
    switch(command) {
        case 1:
            mySwitch.switchOn(systemCode, unitCode);
            break;
        case 0:
            mySwitch.switchOff(systemCode, unitCode);
            break;
        default:
    Im Anschluss nochmal mit "make" kompilieren. Jetzt solltet ihr auch als Nicht-Root mit ./send [Systemcode] [Gerätecode] [An/Aus] eine Steckdose schalten können. Systemcode und Gerätecode sind hier nochmal beschrieben. Das sieht von Steckdose zu steckdose unterschiedlich aus.

    Bei mir würde das heißen das ich mit

    Code:
    /usr/smarthome/rcswitch-pi/send 10000 1 1
    und
    Code:
    /usr/smarthome/rcswitch-pi/send 10000 1 0
    Eine Steckdose An- bzw. Abschalten kann. So wird es hier auch nochmal erklärt.

    -----------------------------------------------------------------------------------------

    Im logic-Verzeichniss habe ich eine Datei steckdose.py angelegt:

    Code:
    #!/usr/bin/env python
    logger.info("Steckdosenlogik gestartet")
    import os
    if trigger['value'] is not None:
        source_item = sh.return_item(trigger['source'])
        os.popen("/usr/smarthome/rcswitch-pi/send "+ source_item.conf['systemcode'] +" "+ source_item.conf['geraetecode'] +" "+ str(int(trigger['value']== True )))
        os.popen("/usr/smarthome/rcswitch-pi/send "+ source_item.conf['systemcode'] +" "+ source_item.conf['geraetecode'] +" "+ str(int(trigger['value']== True )))
        os.popen("/usr/smarthome/rcswitch-pi/send "+ source_item.conf['systemcode'] +" "+ source_item.conf['geraetecode'] +" "+ str(int(trigger['value']== True )))
        output = os.popen("/usr/smarthome/rcswitch-pi/send "+ source_item.conf['systemcode'] +" "+ source_item.conf['geraetecode'] +" "+ str(int(trigger['value']== True ))).readlines()
        logger.info(output)
    Der Pfad "/usr/smarthome/rcswitch-pi/send" muss von euch entsprechend angepasst werden. Warum der Befehl 4x gesendet wird? 433Mhz ist nur einseitig. Das heißt, ihr wisst nicht ob der Befehl empfangen wurde. Daher sind die 4 Aufrufe eine Sicherheit für mich.


    /items/smartvisu.conf definiert die einzelnen Steckdosen mit SystemCode und Gerätecode. Der Abschnitt mit der UZSU ist optional und mit knx_listen kann die Steckdose auch über KNX geschalten werden.

    Code:
     [Funksteckdosen]    
        [[System1]]    
            name = System1
             [[[TasteA]]]
                type = bool
                visu = yes
                enforce_updates = yes
                systemcode = 10101
                geraetecode = 1
                knx_dpt = 1
                knx_listen = 5/0/0
                [[[[uzsu]]]]
                    type=dict
                    uzsu_item=Funksteckdosen.System1.TasteA
                    cache=True
                    visu_acl=rw
    /etc/logic.conf Hier werden meine Items überwacht und entsprechend die Logic aufgerufen.
    Code:
    [steckdose]
        filename = steckdose.py
        watch_item = Funksteckdosen.System1.Zirkulation |  Funksteckdosen.System1.Stern| Funksteckdosen.System1.TasteA |  Funksteckdosen.System1.TasteB | Funksteckdosen.System1.TasteC |  Funksteckdosen.System1.TasteD
    In der SmartVisu wird diese Steckdose wie ein normaler Schalter eingefügt.


    Sendeleistung erweitern: Am Sendemodul findet ihr ein kleines Loch mit der Beschriftung ANT. Dort habe ein Stück Kupferdraht mit 17,5cm Länge angelötet. Damit funkt das Modul jetzt auch durch mein gesamtes Eigenheim. Noch besser wären wohl 35cm Antennenlänge weil dies 1/2 der Wellenlänge von 433Mhz entspricht, aber den Platz hat nicht jeder.


    Der Vorteil: Ihr könnt jetzt für ca. 9€ einen Schaltausgang überall im Haus nachrüsten. Stehlampen, Zirkulationspumpe, Weihnachtsbaum etc.
    Der Nachteil: 433 Mhz ist nur 1-Kanal. Der Zustand in einer Visu kann also vom tatsächlichen Zustand abweichen. Daher wirklich nur für sicherheitsunkritische Dinge nutzen.

    Bei mir läuft das ganze jetzt seit 2 Wochen fehlerfrei und schaltet meine Zirkulationspumpe brav an und aus.

    Viel Spass und "schöne Weihnachten.

    Carsten
Lädt...
X