Beiträge von BigWumpus
-
-
Hallo,
die Datenpunkte sind nicht so kriegsentscheidend, aber den Script als PDF ist sowas wie ein Kopier- und Leseschutz für uns.
-
Diese SonOff PIR2 brauchen aber einen kleinen Moment um auf die Bewegung zu reagieren und das Signal zu senden.
Ich setze die Xiaomi Aqara PIR-Bewegungsmelder ein über Zigbee, die sind wesentlich schneller in der Reaktion.
-
1 - 09 Switch1
2 - 10 Switch2
-
In dem Datenpunkt mußt Du ändern:
unit:*0,1s - ist ohne funktionalen Unterschied nur Kosmetik
max:1000 ? - groß genug für 100 Sekunden
min:1 - 0 geht nicht
def:220 (bei mir)
Du mußt aber die Laufzeit des Rollladen mit der Stopuhr messen und hier eintragen (*10!).
Und im Sonoff Dual mußt Du die Pulsetime1 und ...2 auf einen passenden Wert einstellen: 100+Laufzeit(in Sekunden)+Angst(2-5 Sekunden)
-
1. Du verwendest Screenshots, aus denen man nichts erkennen kann.
2. Du beschreibst nicht Deine Fehlermeldungen...
-
Hallo,
ich habe meinen Script hier abgelegt:
https://www.dropbox.com/sh/j6cvabzvobl…wsP4dFi1Ea?dl=0
Da steckt wohl einiges von Helfinger drin, sind aber auch eigene Kreationen.
Das 50%-Ding ist nicht so einfach, weil der Panzer sich erst mal längen muß, bevor er hochfährt.
-
Oje,
das Netzwerk ist suboptimal eingerichtet. (2.FB aus, geht immer noch...)
WLAN ist schon Scheiße und dann noch WLAN-Repeater... Murks.
Wer hat Angst vor dem 5GHz-WLAN ?
Die SONOFFs können es einfach nicht und verbinden sich auch nicht damit. Basta.
Ist die 2. FB als Accesspoint oder als eigenes Netzwerk mit DHCP und dynamischer IP am WAN-Eingang eingerichtet ?
Man kann die IP-Adressen prima in der FB anlegen, da braucht man keine in den Geräten fixieren.
EweLink ist gerne down, auch über mehrere Tage... Alles auf Tasmota umflashen!
-
Der Broadlink tastet das empfangene RF-Signal ab und speichert dieses Muster. Es wird nicht dekodiert, es wird kein Anfang oder Ende gefunden, er zeichnet einfach was auf. Das Sendet er dann auch wieder raus.
Der SONOFF ermittelt den Schritttakt des Signals und versucht es zu dekodieren und speichert nur den Code. Beim Senden wird dann mit dem richtigen Schritttakt (Baudrate) der Code ausgesandt.
So kann ich eigene Codes erfinden, ohne die passende Fernbedienung zum Anlernen zu haben.
Bei IR wird es nicht besser sein.
Hinzu kommt, daß dieses Anlernen irgendwie unkontrolliert ist. Mal startet der Prozess nicht, mal endet er nicht oder mal sendet kan nur kurz und der Empfang wird abgeschlossen, mal sendet man ewig und es reicht nicht. ...
Ist mir alles zu ungenau.
Wie gesagt, es ist die verrufene +-Version (SN 33....)
-
Bin gerade dabei meinen RM3 Pro+ zu verkaufen.
Bei RF-Signalen finde ich eine Sonoff Bridge RF mit Tasmota-Software ca. 500x besser.
Die Broadlinks speichern einfach irgendwelche Abtastpunkte des RF-Signals, egal welchen Schrittakt und Sinn das hat.
Die RF-Bridge mißt die Signale quasi aus und decodiert sie.
IR habe ich nur wenig probiert, wehe aber das gleiche Chaos...
Und das liegt wohl nicht nur am Adapter...
-
Ist ja kein Ding. Bei den Screenshots fehlte mir oben und unten immer der Anschluß...
Egal, ich habe den Gedanken mit der Zeitmessung verstanden. Ist echt ein guter Gedanke, weil die ja fast linear immer gleich fahren.
Ich habe bei Soll-Werten größer 90% oder kleiner 10% dann einfach die halbe Fahrtzeit aufaddiert, so daß die Endlagen angefahren werden, wenn auch zwischendurch Blödsinn war.
Ich habe dann etwas "meine" Grundlogik eingebracht und aus den Datenpunken Soll- und Ist- dann Datenpunkte für "hoch" und "runter" schalten lassen, die dann die Relais (gegeneinander verriegelt) ansteuern.
Schaltet jetzt ein Relais ohne daß die entsprechenden Datenpunkte gesetzt sind, ist der Mensch am Werk -> Zeit messen, Strecke rechnen... rechnen, begrenzen.
Wird ein Relais händisch gesetzt wird es nach der Maximaldauer vom Script ausgeschaltet, PulsOut ist mir nicht flexibel genug.
Ich warte sehnlichst auf die Duals und habe den Kleinkram drumherum schon bestellt.
Demnächst: RaspBee (Hue-Dinger anbinden, XIAOMI-Sensoren) dann bin ich quasi Cloudfrei und habe Alexa nur noch als Spracheingabe, kann aber auch alles lokal schalten.
-
Wie ich aber auch schon geschrieben habe, das ganze Programm ist eigentlich nur nützlich, wenn man z.B. in VIS den Stand des Rollladen angezeigt haben möchte, oder eben auch über Alexa den Rollladen auf ein bestimmtes Nivea steuern möchte. Auf und zu funktioniert auch ohne den ganzen Schnick-Schnack
Ich finde den Anfang des Scriptes sehr gut. Die %-Angaben der Rollladen-Stände reichen auch für Alexa, ich kann jede Position anfahren. VIS habe ich noch nicht gemacht, wird aber wie ein Dimmer sein.
-
Hi,
bin neu hier...
beiße mir die Zähne gerade an einer Rollladensteuerung (Sonoff Dual) aus. Habe die Blockly-Scripte von Helfinger hier als Inspiration genommen (pardon, grausige Screenshots) und mal alles für mich adaptiert. Läuft in der Theorie (Deckenlampe statt Motor).
Jetzt möchte ich das manuelle Fahren der Rollläden auch erfasse und die Änderung der Position "messen". Dazu soll ein Script die Zeit zählen, wenn das Relais angesteuert wird, ohne das der Script das angesteuert hat.
Die Krux:
Ich teste die MQTT-Statusmeldung auf "ON" und warte bis sie wieder "OFF" ist. Diese Intervall-Schleife wird aber immer sofort beendet um im Debug steht auch "ON" drin, obwohl ich auf "OFF" abfrage.
Der Code:
----
var Counter, Count_hoch;
on({id: 'mqtt.0.stat.ArZi-Touch.POWER', change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (getState("mqtt.0.stat.ArZi-Touch.POWER").val == 'ON' && !getState("admin.0.SchlaZi-Rolladen.hoch").val) {
// manuelles Hochfahren
Counter = 1;
Count_hoch = setInterval(function () {
if (getState("mqtt.0.stat.ArZi-Touch.POWER").val == 'OFF') {
(function () {if (Count_hoch) {clearInterval(Count_hoch); Count_hoch = null;}})();
}
Counter = (typeof Counter == 'number' ? Counter : 0) + 1;
}, 100);
console.log(([Counter,'/',getState("mqtt.0.stat.ArZi-Touch.POWER").val].join('')));
setState("admin.0.SchlaZi-Rolladen.Ist-Position"/*Ist-Position*/, (Math.round(Math.min(Math.max(getState("admin.0.SchlaZi-Rolladen.Ist-Position").val - (Counter * 100) / getState("admin.0.SchlaZi-Rolladen.Laufzeit").val, 1), 100))), true);
}
});
----