NEWS
433 Mhz "Baumarkt Steckdosen" schalten - Kleines Beispiel
-
hmm…. eigentlich sollte das commando stimmen und nicht 2 mal geschossen werden muessen.
Bei 433 MHZ ist es leider so das nicht immer alle befehle ankommen.
Du koenntest jetzt noch mit einen delay dasselbe command 0.1 sekunden nochmal schicken
Benutze dazu de block timeout (nicht interval !), setze diesen unter den jetzigen exec und kopieren deinen exec block darein (fuer beide)
das ist die logik
-
variable geanedert
-
check
-
execute
-
0,1 sec spaeter execute nochmal
~Dutch `
Ok danke werde ich nachher mal Probieren da ich nicht zuhause im Wlan bin und somit die Apple Home app nicht geht.
Hab leide noch keine Funktionierende VPN Verbindung.
Komisch ist das es bei Vis mit dem Script super geht per Siri auch nur wenn ich in der app den Knopf selber drücke und nicht Siri den Befehlt auslöst kommt es zu dieser Doppelten Übertragung.
Ich werde heute Abend berichten. `
warte mal ich had da so ne vermutung, hast du auch history installiert ?
Meine vermutung: deine variable ist ein boolean, yahka schikt eine 1 oder 0, der wert wird 2 mal geupdated (0 und falsch oder 1 under true)
dadurch aenderd sich die variable 2 mal mit als folge 2 befehle.
das koennstest du abfangen durch in deinem if noch UND = 0 oder UND = 1 hinzu zu fuegen.
Mit history log koenntest du sehen was die variable macht, mir ist aufgefallen das yahka manchmal 0/1 und manchmal true/false benutzt.
~Dutch
PS: du kannst die diese komplette IF auch sparen und 2 trigger machen, setze dazu "wurde geanedert" auf ist true.
Dan hast du 2 trigger die auf true oder falsch reagieren und ist die abfrage ueberflussig
-
-
warte mal ich had da so ne vermutung, hast du auch history installiert ?
Meine vermutung: deine variable ist ein boolean, yahka schikt eine 1 oder 0, der wert wird 2 mal geupdated (0 und falsch oder 1 under true)
dadurch aenderd sich die variable 2 mal mit als folge 2 befehle. `
History habe ich bisher nicht installiert werde ich dann aber mal machen.
boolean? noch nie gehört
das koennstest du abfangen durch in deinem if noch UND = 0 oder UND = 1 hinzu zu fuegen.
Mit history log koenntest du sehen was die variable macht, mir ist aufgefallen das yahka manchmal 0/1 und manchmal true/false benutzt.
~Dutch `
Was du grade beschreibst könnte das sein was mir passiert ist von 30-40 versuchen haben 2-3 geklappt gehabt wo
ich per app die Steckdose schalten konnte.
PS: du kannst die diese komplette IF auch sparen und 2 trigger machen, setze dazu "wurde geanedert" auf ist true.
Dan hast du 2 trigger die auf true oder falsch reagieren und ist die abfrage ueberflussig `
Hier bin ich leider wieder Raus. Das verstehe ich noch nicht. IF? Trigger?
Habe grade mal per Temviewer zuhause das Script oben von "wurde geändert" auf "ist wahr" geändert dann geht die Lampe über Vis zwar an aber nicht aus. Wie sich das beim iPhone verhält weiß ich nicht.
-
boolean? noch nie gehört `
sorry fachjargon…
Boolean = immer TRUE oder FALSE kan keinen anderen wert im speicher haben
Number = zahlen
String = buchstaben zahlen etc
Du sagst also deinem speicher bist ein boolean, darfst nur TRUE oder FALSE sein
Was du grade beschreibst könnte das sein was mir passiert ist von 30-40 versuchen haben 2-3 geklappt gehabt wo
ich per app die Steckdose schalten konnte. `
Mja das kan viel ursachen haben, wie stuerst du deine 433 MHZ ?
Ich habe nach viel basteln und aerger nen RFXCOM gekauft der funst bei mir 99,99%, von 100 schal befehlen fehlen mal 4 das geht.
Hier bin ich leider wieder Raus. Das verstehe ich noch nicht. IF? Trigger?
Habe grade mal per Temviewer zuhause das Script oben von "wurde geändert" auf "ist wahr" geändert dann geht die Lampe über Vis zwar an aber nicht aus. Wie sich das beim iPhone verhält weiß ich nicht. `
sorry ich erklaehre es zu komplex….
Du hast jetzt in deinem block diese IF, das kan raus wen du den trigger auf IST wahr setzt.
Das er jetzt nicht ausschaltet stimmt, dus musst ja nochmal genau den selber block machen miet IST unwahr.
also 2 blocker mit trigger, einer war der andere unwar. Die commando blocker da rein, keine IF abfrage mehr (unnoetig macht ja der trigger.
~Dutch
-
sorry fachjargon…
Boolean = immer TRUE oder FALSE kan keinen anderen wert im speicher haben
Number = zahlen
String = buchstaben zahlen etc
Du sagst also deinem speicher bist ein boolean, darfst nur TRUE oder FALSE sein `
Danke fürs erklären
Mja das kan viel ursachen haben, wie stuerst du deine 433 MHZ ?
Ich habe nach viel basteln und aerger nen RFXCOM gekauft der funst bei mir 99,99%, von 100 schal befehlen fehlen mal 4 das geht. `
Da bei mir alles noch in den Startlöchern ist Hängt der 433 MHz sender direkt am PI 3 (GPIO 17 glaube ich).
Einen NodeMCU habe ich mir noch gekauft ob ich den wirklich brauche weiß ich noch nicht.
sorry ich erklaehre es zu komplex….
Du hast jetzt in deinem block diese IF, das kan raus wen du den trigger auf IST wahr setzt.
Das er jetzt nicht ausschaltet stimmt, dus musst ja nochmal genau den selber block machen miet IST unwahr.
also 2 blocker mit trigger, einer war der andere unwar. Die commando blocker da rein, keine IF abfrage mehr (unnoetig macht ja der trigger.
~Dutch `
Ich hab jetzt mal mehrer versuche Kurz gemacht werde dafür aber auch erst wieder heute Abend mehr Zeit haben.
Bisher hat keiner meiner versuche eine zufriedenstellende Lösung gebracht.
Ich lade mal meine Versuche hoch die vielleicht aber auch Unsinn sind. Wenn ich das Trigger wahr und unwahr mache muss ich es auf zwei scripts aufteilen?
Commando Blocker war nochmal was?
2860_3.jpg
2860_1.jpg
2860_2.jpg -
sorry fachjargon…
Boolean = immer TRUE oder FALSE kan keinen anderen wert im speicher haben
Number = zahlen
String = buchstaben zahlen etc
Du sagst also deinem speicher bist ein boolean, darfst nur TRUE oder FALSE sein `
Danke fürs erklären
Mja das kan viel ursachen haben, wie stuerst du deine 433 MHZ ?
Ich habe nach viel basteln und aerger nen RFXCOM gekauft der funst bei mir 99,99%, von 100 schal befehlen fehlen mal 4 das geht. `
Da bei mir alles noch in den Startlöchern ist Hängt der 433 MHz sender direkt am PI 3 (GPIO 17 glaube ich).
Einen NodeMCU habe ich mir noch gekauft ob ich den wirklich brauche weiß ich noch nicht.
sorry ich erklaehre es zu komplex….
Du hast jetzt in deinem block diese IF, das kan raus wen du den trigger auf IST wahr setzt.
Das er jetzt nicht ausschaltet stimmt, dus musst ja nochmal genau den selber block machen miet IST unwahr.
also 2 blocker mit trigger, einer war der andere unwar. Die commando blocker da rein, keine IF abfrage mehr (unnoetig macht ja der trigger.
~Dutch `
Ich hab jetzt mal mehrer versuche Kurz gemacht werde dafür aber auch erst wieder heute Abend mehr Zeit haben.
Bisher hat keiner meiner versuche eine zufriedenstellende Lösung gebracht.
Ich lade mal meine Versuche hoch die vielleicht aber auch Unsinn sind. Wenn ich das Trigger wahr und unwahr mache muss ich es auf zwei scripts aufteilen?
Commando Blocker war nochmal was? `
dein erster screenshot ist genau was ich meinte, aufteilen brauchst du nicht.
Du kannst in einem script x trigger haben, er fuerht nur aus was unter dem trigger steht
Da bei mir alles noch in den Startlöchern ist Hängt der 433 MHz sender direkt am PI 3 (GPIO 17 glaube ich).
Einen NodeMCU habe ich mir noch gekauft ob ich den wirklich brauche weiß ich noch nicht. `
zum testen geht das allemaal, nur wie gesagt 433MHZ ist halt kein feedback und diese kleinen sender machen oft problemen.
Fuer 433 empfehler ich RFLINK (grosser thread hier im forum) oder RFXCom mittels openhab integrieren (so mach ich es)
~Dutch
-
dein erster screenshot ist genau was ich meinte, aufteilen brauchst du nicht.
Du kannst in einem script x trigger haben, er fuerht nur aus was unter dem trigger steht `
Hab gestern Abend noch etwas rum Probiert aber so wirklich klappen tut es nicht.
Wenn ich mein Anfängliches Skript nehme. Geht es in iobroker VIS perfekt es schaltet immer richtig aber in der App geht es nicht.
Wenn ich das script nach deinen Info´s mache. Also mit dem Wahr und nicht wahr in der zwei Triggern funktioniert es in der App super aber dafür geht es in VIS nicht.
Hab also leider noch keine Zufriedenstellende Lösung. In beiden fällen ist es so das da wo es nicht geht der Befehl doppelt raus geht und da es so schnell Hintereinander ist scheint das Signal dann einfach im nichts aufzulösen.
zum testen geht das allemaal, nur wie gesagt 433MHZ ist halt kein feedback und diese kleinen sender machen oft problemen.
Fuer 433 empfehler ich RFLINK (grosser thread hier im forum) oder RFXCom mittels openhab integrieren (so mach ich es) `
Ich überlege wenn ich alles mehr verstanden haben vielleicht auch auf solche Sonoff Wifi Geräte zu wechseln welche zwischen die Stromleitung kommen. Hier bekommt man ja dann glaube ich auch eine Rückmeldung.
Bei 433 MHz bekommt man generell keine Rückmeldung oder?
Danke für die Info´s.
-
Hallo Zusammen,
erstmal großes Lob an Euch. Verdammt gutes Forum!
Ich lese hier schon eine Weile mit, und konnte bereits viele Ideen umsetzen und Probleme lösen.
…doch jetzt...
Ich kann problemlos meine Funksteckdosen über ein Script in IOBroker steuern.
Nur wenn ich die ganze 433 MHz Steuerung auf einen andern PI lege und von IOBroker aus steuern will funzt es nicht.
hat einer einen Ansatz wie die Zeile aussehen muss?
anstatt: exec('/home/pi/raspberry-remote/./send 10101 5 1')
Gruß Thorsten
-
Wenn du den 433 mhz Sender auf einem anderen Pi laufen lassen willst musst du den Zugriff dafür "von Außen" herstellen.
Das kannst du einfach über ssh bewerkstelligen.
Der Befehl um einen Befehl auf einem anderen System auszuführen lautet
(USER@IPADRESSE anpassen)
ssh USER@IPADRESSE '/pfad/zum/script/./send 11111 3 1'
Vorher musst du die SSH Anmeldung über public-key aktivieren bzw. konfigurieren.
-
Hi,
ssh ('pi@175.11.21.3 /home/pi/raspberry-remote/./send 10101 5 1')
hau ich diese zeile in ein terminal funzt das ganze. Jedoch im script im ioBroker nicht.
Wie muss ich den Befehl abändern?v Die Zeile von buzzy erzeugt leider nen Fehler.
Gruß Thorsten
-
Hi,
ssh ('pi@175.11.21.3 /home/pi/raspberry-remote/./send 10101 5 1')
hau ich diese zeile in ein terminal funzt das ganze. Jedoch im script im ioBroker nicht.
Wie muss ich den Befehl abändern?v Die Zeile von buzzy erzeugt leider nen Fehler.
Gruß Thorsten ` Hi, gibt es dafür bereits eine Lösung?
Ich habe nämlich das selbe Problem. Bei mir läuft iobroker und Raspberry remote auf dem selben Pi.
Tippe ich den Befehl in die Konsole funktioniert er, im Skript nicht.
Kann es sein, dass das mit Rechten etwas zu tun hat? Dass das Skript evtl keine Rechte hat den exec Befehl auszuführen?
Danke.
Gruß
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
hi
exec ('/opt/raspberry-remote/./send 11101 1 1');
so sollte die zeile aussehen, nur musst den pfad anpassen. bei mir lautet er zum Beispiel:
/home/pi/raspberry-remote/
dann schau mal ob du das richtige objekt genommen hast. tut sich was im lof-file wenn du die steckdose auslösen willst?
Mein Problem konnte ich auch lösen. greife jetzt auf den webserver zurück der weiter vorne erwähnt ist und löse den entfernten pi mit http aus.
hab dazu ein script gefunden und angepasst:
! var pfad = 'javascript.1.gartenlicht.';
! createState(pfad + 'Gartenlicht_Schalter', {
! id: 'Gartenlicht_Schalter',
! name: 'Gartenlicht_Schalter',
! type: 'boolean',
! def: false
! });
! createState(pfad + 'Gartenlicht_Zustand', {
! id: 'Gartenlicht_Zustand',
! name: 'Gartenlicht_Zustand',
! type: 'boolean',
! def: false
! });
! //########################################################################################################
! var request = require ('request');
! var url_on_Tauch_Hand = "http://ip-des-pi/send433/index.php?grou … =1&delay=0";
! var url_off_Tauch_Hand = "http://ip-des-pi/send433/index.php?grou ... =0&delay=0";
! //########################################################################################################
! on(pfad + 'Gartenlicht_Schalter' , function (obj_1) {
! if (obj_1.state.val) {
! request(url_on_Tauch_Hand);
! setState(pfad + "Gartenlicht_Zustand", true);
! log("Licht an");
! }
! if (!obj_1.state.val) {
! request(url_off_Tauch_Hand);
! setState(pfad + 'Gartenlicht_Zustand', false);
! log("Licht aus");
! }
! })
! ;gruß Thorsten
-
Juhu bei mir hats nu endlich auch geklappt
-
Hi,
ssh ('pi@175.11.21.3 /home/pi/raspberry-remote/./send 10101 5 1')
hau ich diese zeile in ein terminal funzt das ganze. Jedoch im script im ioBroker nicht.
Wie muss ich den Befehl abändern?v Die Zeile von buzzy erzeugt leider nen Fehler.
Gruß Thorsten ` Hi, gibt es dafür bereits eine Lösung?
Ich habe nämlich das selbe Problem. Bei mir läuft iobroker und Raspberry remote auf dem selben Pi.
Tippe ich den Befehl in die Konsole funktioniert er, im Skript nicht.
Kann es sein, dass das mit Rechten etwas zu tun hat? Dass das Skript evtl keine Rechte hat den exec Befehl auszuführen?
Danke.
Gruß
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk ` Ihr habt aber schon im Javascript den ssh Befehl in exec(); eingeklammert oder?
Also
exec(ssh USER@IPADRESSE '/pfad/zum/script/./send 11111 3 1');
so sieht der Befehl im Javascript korrekt aus..
Gruß
Von unterwegs gesendet
-
Also der Aufbau läuft und schaltet via send Befehl im terminal
Ich hab bislang alle Steckdosen auf einer schalt Frequenz
Allerdings weiß ich nun nicht weiter. Möchte gerne das mein Alexa die Steckdosen einschalten kann.
Außerdem ein Bewegungsmelder der ist aber noch nicht vorhanden
Es sollte alles so funktionieren das ich auch in vis ein Ergebnis sehe. Heißt die Abfrage ob an oder aus wäre klasse. Dazu brauch ich sicher noch das empfangsmodul oder? Und ein anderes Script bzw mehr Aufbau?
Was ist besser rcswitch oder Raspberry remote?
-
Hey,
Bin neu hier und versuch mich nach mehreren Jahren FHEM nun hier am IObroker der mir bisher sehr gut gefällt!
Ich versuche mich nun seit Stunden an dem einbinden der 433Mhz Steckdosen.
Wenn ich es über SSH über die Konsole ausführe, sowohl über Raspberry-Remote als auch über rcswitch.
Dann kann ich die Steckdosen schalten, jedoch nicht wie in diesem Video beschrieben:
https://www.youtube.com/watch?v=RTeHtsIAr5k
Das einzige was ich nicht verstehe, ist der Kommentar darunter in dem der Autor meinte das man den: "Nach dem make den Datei "send" nach "/bin" kopiert. "
Im Log wird die Funktion ausgeführt.
Kann mir jemand helfen bin wirklich langsam am verzweifeln
-
In dem Ordner wo du den "make" Befehl ausführst wird eine Datei "send" erzeugt. Diese sollst du nach in den Ordner "/bin" kopieren.
Gruß
-
In dem Ordner wo du den "make" Befehl ausführst wird eine Datei "send" erzeugt. Diese sollst du nach in den Ordner "/bin" kopieren.
Gruß `
Ich danke dir, hat geklappt!
-
Moin,
bzgl. der Funktion setTimeout zum wiederholen des Sendecodes eine kleine Anmerkung. Ich habe mir eine globale Funktion geschrieben.
function sendecode (code) { exec('/home/pi/433Utils/RPi_utils/./codesend '+code); setTimeout(function() { exec('/home/pi/433Utils/RPi_utils/./codesend '+code); }, 2000); console.log ("Code 433Mhz wurde gesendet : Code "+code); }
Somit brauche ich mir keine Gedanken bzgl. der einzelnen Timer machen.
Klappt bei mir hervorragend. Auch wenn man mehere Befehle kurz aufeinander sendet.
Bei mir reicht das 2 malige Senden um sicher zu stellen, dass die Dinger schalten. Kann natürlich bei Bedarf erweitert werden.
-
Moin.
Irgendwie klappt das bei mir mit den 433 mhz Steckdosen nicht. Kann man irgendwie festellen ob der 433 mhz Sender funktioniert? Habe den mal vor ewigkeiten bei Amazon gekauft
1X 433Mhz Wireless Transmitter 20-200 m https://www.amazon.de/dp/B00HULZ3ZO/ref … rCbGR2RJNP
Bin mir allerdings auch nicht sicher ob er richtig angeschlossen ist.
Erde und 5v ist klar aber data an 22 bei dem Raspberry pi 3b+?
Gesendet von meinem Pixel 3 mit Tapatalk
-
Hi,
gibt es für das Webinterface eine neuere Anleitung?
Bei mir funktioniert das schalten direkt über SSH perfekt, aber ich bekomme den Webserver nicht zum laufen, die Anleitungen sind alle recht alt. Ich bekomme beim Aufruf immer die Meldung: Could not bind to socket
Daher funktioniert auch das schalten per Skript nicht. Ich sehe immer nur den Inhalt des Skripts...