Funksteckdosen,... mit iOS & Android (Version 2)

  • Hi

    ich hab da nen kleines problem
    auf meinen raspi hab ich jetzt den script von thomas eingefügt.
    Funktioniert auch so weit ganz gut.
    aber wenn ich länger nichts schalte, friert er anscheinend ein.
    wenn ich den script noch mal ausführe bekomme ich ne fehlermeldung: [ERROR] Address already in use.
    dann geht es wieder über die konsole zu schalten. nicht aber über netio.
    nur ein reboot hilt da noch, halt nur nicht all zu lange.

    hat jemand vieleicht ne idee was da schief läuft?

    mfg
    Michael

  • Ich hatte ähnliche Probleme wie du.
    Kann dir daher empfehlen auf FHEM zu wechseln. Funktioniert einfach zuverlässiger.

  • Hi

    danke für den tip, aber etz hab ich mir so viel mühe gegeben, das zum laufen zu bringen.
    da hör ich nicht auf. auserdem möcht ich gern dir app netio nutzen.

    ich hab auch wieder ein bischen rumprobiert und neue erkenntnisse gewonnen.
    der script scheint nur einzufrieren wenn mein handy das display ausschaltet und netio noch läuft.
    wenn ich netio selbst beende funktioniert er weiterhin!!!

    mfg
    Michael

  • Sooo, nachdem ich mir jetzt die ganzen 30 Seiten reingezogen hab raucht mir zwar das Hirn, aber weiter bin ich nu auch nicht :D
    irgendwie war das mit den Arduinos alles noch etwas einfacher ^^

    So, zu meiner Frage 1:
    Kann man, bzw wie kann man über das NetIo einen einzelnen Pin schalten ? Da meinem Rechner Wake On Lan nicht passt, hab ich das ganze einfach über nen Optokopler realisert .. den muss ich nu übern Pi schalten ... Hilfe ;D

    so, und Frage 2:
    Das ganze Steckdosengedöns hab ich hier schon am laufen, hängen jetzt 6 Dosen dran, die mit den Dip-Schaltern hinten dran, funktioniert auch spitze.
    Allerdings hab ich noch 3 dieser Dosen von REV hier liegen (das sind die mit dem Drehschalter auf der Rückseite) der hat auch die gleiche Frequenz.
    Ich hab ne modifizierte send-file (sudo ./sendRev d 3 1) mit der das im shell einwandfrei funktioniert.. Aber wie bring ich das jetzt dem NetIo bei, dass ich quasi die normalen Dosen und zusätzlich die Rev schalten kann ?

    Danke für eure Hilfe :)

    Gibts denn eigentlich irgendwo aktellste server files ? muss die mal zerhackstückeln und lernen :D


    Mario

  • ersteinmal ein großes Lob! :bravo2: ich bin erst seit kurzem stolzer Besitzer eines RPi, bin aber vollends begeistert, was ihr hier auf die Beine stellt und dadurch ich mit dem kleinen Freund anfangen kann!
    Vielen Dank!

    ich würde die Geschichte allerdings noch gerne ein wenig erweitern. Ich möchte per Tasker in bestimmten Situationen: Dunkel, nicht zuhause etc. das Licht automatisch an und aus schalten.
    Dazu, habe ich mir gedacht es ist es am einfachsten, das über die gleiche Anfrage, wie der NetIO Controller es macht zu realisieren. Da ich allerdings nur ein fortgeschrittener Noob bin, konnte ich mir weder durch die FAQ, Forum etc. von NetIO Controller, noch über euren Code die genaue Syntax erklären.

    :helpnew:
    Was müsste ich also senden, um z.B. Licht im Wohnz an zu schalten?

    Nochmals danke für das coole Projekt, ich werde es mit Freude weiter beobachten!!

    LG LoMi
    :danke_ATDE:

  • Hallo Leute,

    erstmal ein riesen Lob an Euch alle, die Ihr Euch so viel Mühe macht.
    Ich hätte nur eine Frage / Bitte. Könnte mir irgendjemand von Euch den neuesten Dateien zuschicken? Ich blicke ehrlich gesagt nicht mehr durch, welches die neueste netto_config, netio_server ... fürs Wetter gibt es doch auch eine py, oder? Es wäre ziemlich cool, wenn man alle Dateien, die alle bisherigen Funktionen abdecken zusammenfassen könnte.

    Achso ich habe dann gleich noch eine Frage. Und zwar funktioniert der Befehl zum shutdown nicht für meinen Ubuntu Rechner. ich bekomme immer die Fehlermeldung werr_access_denied...
    Vielleicht hat jemand von Euch eine Idee.

    Weiter so. Coole Arbeit.

  • Jop ich bin auch grade dabei eine garagensteuerung zu realisieren, mittels diese Tutorials.

    Ich würd gerne wissen ob und wie es möglich ist mit netio einen oder mehrere pins auf high zu setzen und das für bestimmte zeit, also vielleicht 1-3sec oder so.

    ausserdem hab ich vor türkontaktschalter anzubringen und diese mittels der gpios auszulesen und den status dann in netio anzeigen zu lassen.

    Leider bin ich in allem noch recht grün hinter den ohren daher hoffe ich auf eure Hilfe ;)


    Mfg treeshort

    Edited once, last by treeshort (December 2, 2013 at 11:13 PM).

  • Ja das ist immer noch meine Frage, leider tut sich hier nicht sonderlich viel. Hab in einem anderen Post diesen Link hier bekommen, vielleicht kannst du damit was anfangen. Alternativ kannst du auch die netio examples installieren und das dann zerpflücken, damit kommst du auch zum Ziel. Hier mal den Link auf den andren Post.


    Bart
    September 19, 2013 at 12:27 AM

    der 4. Beitrag :)


    falls du da weiterkommst gib bitte mal bescheid :)

  • Mal endlich wieder ein update ....

    Ich habe heute erst gesehen, das Bart/Tobi eine Funktion für die Ansteuerung von GPIO Ports implementiert hat.
    NetIO App Spielereien [Gemeinschaftsprojekt]

    Diese habe ich jetzt in das Script für alle eingebaut.
    Die "Funktion" habe ich allerdings nicht led sondern gpio benannt, da dies allgemeiner ist.

    Aufruf über Netio mittels:
    gpio set gpio7 1

    Wie von Tobi beschrieben, muss der Port entsprechend vorbereitet sein:

    Bitte probiert dies aus und gebt mir Rückmeldung, falls es nicht funktioniert.


    Für Neueinsteiger auch noch meine Konfigurationsdatei, die auf Eure Bedürfnisse angepaßt werden muss.

    while (!sleep()) {sheep++};

  • Hallo,

    ich würder gerne wissen, ob einer von euch schon mal die ALDI Funksteckdosen mit Anlernfunktion mit dem PI gesteuert hat?

    Sender ist ein GT-7000.
    Meine Düwi kann ich steuern.

    Danke schon mal für eine Antwort.

    Gruß

    lechez

  • Meinem Wissen nach, ändern die ihren hauscode von alleine. Soll die Sicherheit erhöhen schätze ich.

    Soweit ich weis, kann FHEM das, aber nicht dieses Script.

    <woltlab-metacode data-name="align" data-attributes="WyJjZW50ZXIiXQ=="><p><span style="font-size: 10pt">Ein "Gefällt mir" oder die Bewertung im Profil ist eine nette Geste für die Hilfe die wir hoffentlich waren oder sind.</span></p></woltlab-metacode>

  • Dann könnte man mit dem neuen Script von Thomas schon einige coole dinge regeln.. :P
    Ich denke ich werde die Tage mal eine Platine löten. Also eine Platine, die man direkt auf dem PI stecken kann, wo ein 433MHz Sender drauf ist, sowie ein paar LEDs und ein paar Taster.
    Ich stelle mir das ganze so vor:

    LEDs:
    Weiß - Sendebefehl (Wenn eine Dose geschaltet wird, soll die LED für 1 Sekunde leuchten)
    Grün und Rot - Status des Servers. Wenn das Script läuft, soll die Grüne LED leicht leuchten, die Rote LED falls ein Fehler aufgetreten ist)
    TASTER:
    - Enen für das Starten des Scripts.
    - Einen für das beenden des Scripts.
    - Einen für ein Reboot des Pis
    - Evtl. noch zwei zum einschalten und ausschalten aller bekannten Lampen.

    Evtl. noch einen kleinen Bildschirm oder ein paar Bildschirmelemente, wo die Temperatur eines Sensor steht.

    Was meint ihr?

    Am besten lässt man dann ein weiteres Python Skript beim Booten starten, der dann die Taster und LEDs steuert. Dieser muss dann das Skript starten können und den Status lesen können, sowie Zugriff auf 1 Wire und evtl. auf den Screen.

    Wenn wir dafür ein Script schreiben können, würde ich dann mit diesem kleinen Bauprojekt dann ein neues TUT schreiben. Dann lohnt es sich auch ;)

    Die Nummerierung der Pins basiert auf WiringPi, oder? also 7 und 9 sind 26 und 24? Könnte man da evtl. andere nehmen, denn ich nutze folgende PIN Connector: http://dx.com/p/double-row-1…ece-pack-138217
    Die sind also 5x2. Bedeutet, das einer auf jeden Fall über die obersteben gehen müsste also 3.3v und 5v. Dann benötigen wir für den Sender #17 also pin 11. Könnte man dann nicht da einen zweiten Connector nehmen der bei #17 anfängt und bis PIN 20 geht? Dann wären #17, #18, #21, #22, #23, #24 inbegriffen. Das würde ja reichen.
    Geht das so, wie ich es mir vorstelle?
    Achja. Also Board nehme ich: http://dx.com/p/prototype-un…n-silver-138605
    Als Sender nehme ich diese: http://dx.com/p/433mhz-wirel…no-green-149254
    Die Teile sind auch alle schon da. Alternativ zu diesem Sender könnte man die ohne Antenne nehmen und dann noch ein BNC Cobbler verbauen. Auch nett. Dazu dann so eine Antenne: http://www.ebay.de/itm/GSM-Antenn…=item4cffd1f8db

    LG

    <woltlab-metacode data-name="align" data-attributes="WyJjZW50ZXIiXQ=="><p><span style="font-size: 10pt">Ein "Gefällt mir" oder die Bewertung im Profil ist eine nette Geste für die Hilfe die wir hoffentlich waren oder sind.</span></p></woltlab-metacode>

    Edited once, last by mario (December 4, 2013 at 12:50 PM).

  • So, ich jetzt nochmal :)

    kann mir jemand kurz mal was helfen ? Hab die aktuellen config und server oben von Thomas erstmal nur zum Steckdosen schalten, funktioniert erstmal alles spitze soweit.
    Allerdings habe ich zusätzlich noch 3 steckdosen von REV ... die ich über licht2 schalten will, hab ne modifizierte send, umbenannt und in den ordner 433 rein... also unter der console funktioniert es einwandfrei mit sudo /home/pi/433/./433send d 3 1 (also gruppe d, dose 3, 1=an) ... nur über das server script nicht.. ich vermute mal dass das im script zuviele argumente verlangt oder so ... kann mir jemand mal n hint geben an welcher stelle ich da ansetzten kann ?


    [edit]

    hat sich direkt wieder erledigt :D

    falls es jemanden interessiert: in der netio_server.py hab ich die Zeile 680 folgendermaßen angepasst :

    cmd = server_cmd + LE[0] + " " + LE[1] + " " + state

    funktioniert :D

    mario

    ich denke du kannst jegliche gpios nehmen, indem du hier:

    #!/bin/sh

    echo "7" > /sys/class/gpio/export
    echo "8" > /sys/class/gpio/export

    echo "out" > /sys/class/gpio/gpio7/direction
    echo "out" > /sys/class/gpio/gpio8/direction

    chmod 666 /sys/class/gpio/gpio7/value
    chmod 666 /sys/class/gpio/gpio8/value


    einfach andere pins einrichtest
    ...

    werd das gleich mal testen


    joa .. oder auch nicht .. ^^

    das ist ja n sh-script ... wenn ich mir das in ne file gpio.sh in den init.d ordner pack und neu starte juckt das den gar nicht..

    wie macht man das richtig ?

    bzw

    kann ich nicht einfach den netio server dazu bringen dass ich quasi einfach den befehl auf ne taste lege ?
    quasi n button und unter send steht dann gpio write 7 1
    so geht das in der console bei mir ...

  • soooo, bin wieder mal n fitzelchen weiter ..

    kann mitlerweile die normalen fernbedienungen über netio schalten sowie die zusätzlichen von REV...

    dann hab ich das script das die gpio ports einrichtet in die /etc/rc.locale eingetragen,
    nach einem reboot kann ich mit echo "1" > /sys/class/gpio/gpio22/value den pin schalten .. ausschalten mit echo "0" usw geht auch ..
    nur scheint in der netio_server.py irgendwo der wurm drin zu sein...

    vom server kommt auch ne rückmeldung:

    client >192.168.178.XX< send >gpio set gpio22 1<
    client command > gpio < with 4 arguments
    client requested valid command gpio
    server reply: server will now process you command gpio ..

    wenn ich nun gpio readall aufrufe sehe ich zwar dass die gpios die ich in der rc.locale vorbereitet habe auch auf out geschaltet sind usw ..
    aber über netio passiert da gar nix ..


  • joa .. oder auch nicht .. ^^

    das ist ja n sh-script ... wenn ich mir das in ne file gpio.sh in den init.d ordner pack und neu starte juckt das den gar nicht..

    wie macht man das richtig ?

    Also ich hab die datei in die Crontab eingetragen.
    sudo crontab -e
    @reboot sh /pfad/zu/deinfile.sh &


    wie willst du deine gpios schalten? über eine webseite oder über netio?

    mfg
    Michael

  • ich kann mich täuschen, weil eigentlich hab ich ja gar keine ahnung vom programmieren, aber ich glaub da fehlt was.
    und zwar in der netio_server.py

    so schaut es aus:

    Code
    # NetIO - SetUp
    
    
                    #     Item        Button
    
    
                    #     onSend  gpio set gpio7 1
    
    
                        server_reply = srvcmd_led(server_cmd,client_words,client_args)


    ich denke aber es sollte so aussehen?!

    Code
    # NetIO - SetUp
    
    
                    #     Item        Button
    
    
                    #     onSend  gpio set gpio7 1
                    if ( "gpio" == client_cmd):
                        server_reply = srvcmd_gpio(server_cmd,client_words,client_args)

    mfg

    Edit: hab noch einen fehler korrigiert

    Edited once, last by micmuec (December 5, 2013 at 11:53 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!