Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Dr.iller

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    D
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 6
    • Best 0
    • Groups 0

    Dr.iller

    @Dr.iller

    0
    Reputation
    5
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Dr.iller Follow

    Latest posts made by Dr.iller

    • RE: 433 Mhz "Baumarkt Steckdosen" schalten - Kleines Beispiel

      @Denwo:

      der normale Befehl geht mit sudo?

      kann an die Berechtigungen liegen, wem gehört die php Datei und welche rechte sind gesetzt. `

      Ja der normale Befehl mit Sudo klappt: sudo ~/raspberry/./send 11111 3 1

      Der php Datei habe ich nun volle Rechte gegeben chmod 777

      shell_exec leider auch noch ohne Erfolg.

      Ist hier ein PHP Spezi anwesend ? 🙂

      posted in Skripten / Logik
      D
      Dr.iller
    • RE: 433 Mhz "Baumarkt Steckdosen" schalten - Kleines Beispiel

      @Denwo:

      Von dem Script kann ich leider durch nicht ausreichende Kenntnisse nichts sagen.

      das PHP Script von der ersten Seite verwenden und auf dem PI anpassen, mit ioBroker dann das PHP Script aufrufen `

      Genau so versuche ich es nochmals.

      Allerdings wird mein exec bisher nicht ausgeführt: exec('sudo ~/raspberry-remote/./send ' . $hauscode . ' ' . $ausgang . ' ' . $zustand);

      Hier muss ich mal noch die Return Werte auswerten. GGf. mit shell_exec arbeiten. PHP ist da doch ein wenig eigen 🙂

      posted in Skripten / Logik
      D
      Dr.iller
    • RE: 433 Mhz "Baumarkt Steckdosen" schalten - Kleines Beispiel

      @DerUwe:

      Das sollte so funktionieren… Findest du Fehlermeldungen im log? `

      ja so habe ich das Skript auch verstanden.

      Im LOG erscheint nur folgendes:

      javascript.0 2017-01-23 20:34:45.566 info received all objects

      javascript.0 2017-01-23 20:34:45.260 info received all states

      javascript.0 2017-01-23 20:34:44.646 info requesting all objects

      javascript.0 2017-01-23 20:34:44.642 info requesting all states

      Aber ich habe eine Denkfehler. Derzeit läuft iobroker auf meiner Synology NAS und auf dem raspberry rscwitch. Somit kennen die beiden sich nicht.

      Hat jemand so etwas schonmal gelöst?

      Anbei 2 Screenshots wie ich dies eingebunden habe.
      1862_2017-01-23_20_35_12-iobroker.admin.jpg
      1862_2017-01-23_20_35_44-iobroker.admin.jpg

      posted in Skripten / Logik
      D
      Dr.iller
    • RE: 433 Mhz "Baumarkt Steckdosen" schalten - Kleines Beispiel

      @DerUwe:

      Hi

      Sorry für die späte Antwort, ich war busy.

      Ja lege ein neues Javascript in iobroker an und paste den text vom script oben dort rein.

      Ich nehme an der Pfad zum send Befehl muss auch entsprechend angepasst werden. `

      Danke für die Antwort. - Kein Problem.

      Ich habe es auch als Script angelegt Allerdings erzeugt er mir keine Objekte in iobroker.

      Verwendest du noch zusätzliche NPM Module? Oder hast du sonst etwas in den JavaScript Einstellungen noch eingestellt?

      VG

      posted in Skripten / Logik
      D
      Dr.iller
    • RE: 433 Mhz "Baumarkt Steckdosen" schalten - Kleines Beispiel

      Hallo zusammen,

      wie muss das Skript eingebunden werden in ioBroker? JavaScript Engine?

      VG Alex

      @DerUwe:

      Ahoi!

      Dann muss ich meinen Senf auch mal zu den Billigsteckdosen geben 🙂

      Unten mein Script das auch gleich die Objekte in iobroker mit erzeugt.

      Welches Objekt welchen Code versenden soll steht im Dictionary PwrplugConfig

      ! /* System Baumarktsteckdosen Verbindung zwischen Baumarktsteckdose und iobroker Signal ! 09.01.2017: Initial Script: Script defines variables to control stupid powerplugs you need a script to send the code via cheap 433MHz transmitter, soldered on gpio pins on raspberry */ ! //Dictionary of all used power plugs const Topicfolder = 'Baumarktsteckdosen' var PwrplugConfig ={ 'SZ_4' :'11111 4', 'SZ_Licht_Links' :'11111 2', 'SZ_Licht_Rechts' :'11111 1', 'SZ_TV' :'11111 3', 'WG_Hi_Rechts' :'00101 4', 'WG_Licht_Links' :'00101 3', 'WG_Radio' :'00101 1', 'WG_Stehlampe' :'00101 2', 'WZ_4' :'01111 2', 'WZ_Licht_Rechts' :'01111 4', 'WZ_Standlicht' :'01111 3', 'WZ_TV' :'01111 1' }; ! var timer1 = null; var timer2 = null; ! //############################### One Time execution on scriptstart####################################### //create all variables if not exist for (var item in PwrplugConfig) { createState(Topicfolder+'.'+item,0, {read: true,write: true,type: 'boolean', name: 'Eine Steckdose',desc: ''}); } ! //############################### Event execution ####################################### //subscribe all tags in topicfolder var cacheSelectorState = $('^javascript.0.'+Topicfolder+'.*/quote>); cacheSelectorState.on( function(obj) { var lastpkt = obj.id.lastIndexOf('.'); var substring=obj.id.substring(lastpkt+1); log('Steckdose geschaltet:'+substring+'['+PwrplugConfig[substring]+'] = '+ obj.state.val); send(PwrplugConfig[substring]+' '+ obj.state.val); if(timer1) clearTimeout(timer1); if(timer2) clearTimeout(timer2); timer1 = setTimeout(function() {send(PwrplugConfig[substring]+' '+ obj.state.val);}, 500); timer2 = setTimeout(function() {send(PwrplugConfig[substring]+' '+ obj.state.val);}, 1000); }); ! function send(val) { exec('/sbin/send ' + val); } ! `

      posted in Skripten / Logik
      D
      Dr.iller
    • RE: 433 Mhz "Baumarkt Steckdosen" schalten - Kleines Beispiel

      @torstenh:

      ";
                                                      }
                                              }
                                              else
                                              {
                                              echo "Keine Ausgang gesetzt!" . "
      ";
                                              }
                                      }
                                      else
                                      {
                                      echo "Kein Hauscode gesetzt!" . "
      ";
                                      }
              if(isset($_GET['hauscode']) && isset($_GET['ausgang']) && isset($_GET['zustand']))
              {
              exec('sudo /root/raspberry-remote/./send ' . $hauscode . ' ' . $ausgang . ' ' . $zustand);
              echo '
      ' .  $hauscode . ' ' . $ausgang . ' ' . 'auf Zustand ' . $zustand .' geschaltet!';
              }
              else
              {
              echo "Funksteckdose nicht geschaltet!";
              }
      ?>
      

      …und im HTTP Root als automatik_set_funk.php speichern.

      Damit wäre der Pi fertig eingerichtet und kann als Sender arbeiten.

      Wenn aus einem Browser seiner Wahl folgenden Link aufruft:

      http://192.168.xxx.xxx/automatik_set_fu … &zustand=1

      Natürlich mit der IP Adresse des RPI! Wird die jeweilige Steckdose geschaltet.

      Entsprechend mit:

      http://192.168.xxx.xxx/automatik_set_fu … &zustand=0

      wieder aus geschaltet.

      Wenn das funktioniert, ist der Pi fertig! `

      Hallo zusammen,

      ich finde die Idee sehr interessant die Steckdosen per URL zu steuern.

      sudo ./send 11111 4 1 funktioniert super bei mir. Wenn ich das PHP Skript einbinde wird leider der EXEC Befehl nicht ausgeführt, bzw schaltet die Steckdose nicht.

      Bei mir sieht er folgend aus: exec('sudo ~/raspberry-remote/./send ' . $hauscode . ' ' . $ausgang . ' ' . $zustand);

      Hat jemand eine Idee was ich hier noch falsch mache?

      Danke VG Alex

      posted in Skripten / Logik
      D
      Dr.iller
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo