Ich habe hier nur einen DHT11, welcher alleine gar kein 1-wire unterstützt. Die Ansteuerung läuft über die Adafruit DHT Library.
Beiträge von Nordlicht_2023
-
-
Hallo EcksteinU und Herzlich Willkommen im Forum.
Versuche bitte einmal dies hier: RE: Blu Button defekt nach aktivierung beacon mode
Und dann mit der Shelly BLE Debug App ein OTA Update durchführen. Das hatte bei mir
funktioniert, da sich mein BLU Button 1 auch beim Update festgesetzt hatte. Er funktioniert
zwar noch immer nicht ganz so wie er soll, aber zumindest reagiert er wieder.
LG Nordlicht_2023
-
Das ist gut möglich. Aber ich denke schon das es funktionieren wird, da auf der anderen Seite eine starke Feder ist. Dadurch hoffe ich zumindest einen kleinen Bereich zu finden, indem vielleicht zwei oder drei Zwischenstellungen möglich ist. Ich werd mir mal etwas überlegen und falls ich eine Lösung gefunden habe, werde ich das mal kundtun
-
Danke für die Erklärung. Also sind die DS18B20 und die DHT2x in unterschiedlichen ID-Bereichen unterwegs ?
Ich habe bisher nur Raspberrys gearbeitet und dort sind die Sensoren wie folgt gelistet:
-
Vielen Dank für das Angebot. Ich werde da auf jeden Fall einmal genauer rein schauen. Dein Projekt Ist echt sehr umfassend und gut dokumentiert.
Warum nicht ? Gut - Der Antrieb wird sich nicht sofort bewegen, da er zum ersten Öffnen ca. 4 Minuten zum Öffnen braucht wenn Strom anliegt, aber es ist eine Heizpatrone verbaut und diese kann man dann doch darüber steuern ? Der "Einstellbereich" wird dann zwar recht klein sein da sich der Antrieb nur um 4,5 Millimeter bewegt, aber es sollte doch trotzdem machbar sein.
-
Ich habe seit Anfang 2016 stückweise diese hier in Betrieb genommen: Eberle Stellantrieb, 04931001101 (Amazon)
Das sind elektrothermische Stellantriebe. Nachdem mir die Batteriedinger zu laut und zu nervig waren (Einstellungen, Funktion, ...) habe ich sie ausgetauscht.
Die Antriebe funktionieren ohne Probleme und wie Krauskopp schon angemerkt hatte ist hier auch nur EIN oder AUS möglich, was einen heißen der abkühlenden Heizkörper zur Folge hat. Die Regelung der Raumtemperatur läuft aber trotzdem sehr gut und sogut wie geräuschlos. Man hört den Antrieb nicht wenn er arbeitet.
Vorher hatte ich einen Stecker an die Stellantriebe gebaut und diesen dann über eine Funksteckdose angeschlossen. Diese wurde dann mit einem Raspberry mit 433 MHz Sender ein- oder ausgeschaltet. Jetzt wollte ich das ganze auf Shellys umbauen. Hierzu habe ich einen Plus 1PM mit Addon an den Stellantrieb angeschlossen, einen Magnetkontakt an den digitalen Eingang und einen DS18B20 für die Raumtemperatur.
Ich war am überlegen den Antrieb über z.B. einen Shelly Dimmer zu steuern. Auf diese Weise kann man vielleicht auch Zwischenzustände ermöglichen, wenn man das ganze mit entsprechendem Aufwand kalibriert. Leider lässt sich daran kein Addon anschließen.
-
Ahhh... super, vielen Dank
Man lernt halt nie aus
-
Das könnte auf nicht gelöschte Sensoren hinweisen (die sollte man bei vielen wechseln löschen)
Das Addon war neu und der Sensor von reichelt.de war der erste, den ich getestet hatte. Die ID wurde erkannt,
aber anstatt der Chip Bezeichnung stand da nur "UNKNOWN". Die Cloud hab ich bisher auch kaum genztzt,
da ich eher offline arbeiten möchte mit den Shellys.
Beim Plus AddOn kann man die ID im WebUI sehen.
Oh... Wo kann man das denn sehen ? Ich dachte bisher man kann es nur beim Hinzufügen des Sensors sehen.
Bisher hatte ich die ID noch nirgendwo anders gesehen im WebUI.
Dass die Shellys sich die ID merken hatte ich bei meinen Tests der verschiedenen Sensoren festgestellt. Ist an sich
recht praktisch finde ich. Wird der Sensor wieder angeschlossen, funktioniert er sofort wieder wie vorher.
Darüber wird auch ein DHT21, DHT22 erkannt.
Von dem Thema hatte ich auch schon gelesen. Mit denen soll es ja auch nicht einfach sein, wenn es kein originaler
Sensor ist. Ich finde es nur schade, dass man nur einen von denen ODER die DS18B20 anschließen kann.
-
vielen Dank für Deine Rückmeldung.
Bei denen von reichelt.de damals steht auch "Dallas" drauf und die funktionieren für
die Shellys definitiv nicht. Ist nun aber auch schon einige Jahre her, dass ich die da
gekauft hatte.
Es scheint so, als wenn die Sensoren alleine über ihre Adresse identifiziert werden.
Ich hatte noch einen Plus 1PM mit Firmware 0.13.0 und der hatte als Fehlermeldung
"-103: Missing or bad argument 'attrs.addr'!" zurück gegeben. Neuere Firmware gibt
da die Meldung "There is an error when adding "Temperature (DS18B20)" peripheral.
Check if it is already added or if such add-on type is supported for this Shelly" zurück.
-
Ich habe das Script "ble-shelly-btn-gateway-for-other-devices.js" nun trotzdem zum Laufen bekommen.
Wenn man die Zeilen 189 und 191 bearbeitet und folgende Einträge entfernt:
Funktioniert das Script auch ohne den "richtigen" BLE Namen vom Gerät.
Es wäre natürlich trotzdem schön, die o.g. Probleme lösen zu können
-
Hallo Zusammen,
ich bin seit dieser Woche noch nicht ganz so stolzer Besitzer eines BLU Button 1.
Eckdaten:
Shelly Plus 1 v1.1.0
Shelly BLU Button 1
Shelly BLE Debug App
Shelly Smart Control App (3.56.4)
Nachdem ich bei der Einrichtung einige Probleme hatte und das Firmware Update hängen geblieben
ist, konnte ich nach einem Reset ein neues Update über die Shelly BLE Debug App einspielen. Der
Button wird in der App wie folgt dargestellt:
Screenshot_20240110-222807_Shelly BLE Debug.jpg
Ich habe den Button auch in der Cloud hinzufügen können und es werden die Klicks auch richtig
erkannt. Da ich den Button offline nutzen will, habe ich dann versucht auf einem Plus 1 das Script
"ble-shelly-btn-gateway-for-other-devices.js" einzurichten.
Der Button wird von dem Script nicht erkannt, weil die vom Button gesendeten Daten wohl falsch
oder unvollständig sind. Es wird die Angabe "SBBT" nicht mitgeschickt und daher beendet das
Script die Verarbeitung vorzeitig. Auch die Ausgabe für die Action scheint nicht zu passen. Es
wird z.B. nur folgendes Ausgegeben:
Code{ "addr": "60:ef:ab:4a:98:62", "addr_type": 1, "rssi": -65, "advData": "\2\1\6\n\x16??D\0O\1d:\1", "scanRsp": "", "flags": 6, "service_data": { "fcd2": "D\0O\1d:\1" } }
in der "fcd2" Zeile wird durch das "d:\1" scheinbar die Anzahl der Klicks zurück gemeldet.
Weiterhin kann ich auch den Beacon Mode nicht einschalten und die Shelly BLE Debug App meldet
bei z.B. "Locate" dass der Button nicht Original ist: "The device does not appear to be a Shelly device.".
Screenshot_20240110-222745_Shelly BLE Debug.jpg
Über die Shelly Smart Control App komme ich leider auch nicht weiter. Ich kann sehen kann wie oft
ich den Button drücke und wie der Batteriestand ist, aber ansonsten scheint diese den Button auch
nicht zu mögen. Es konnte von Anfang an die MAC Adresse nicht ermittelt werden und ich kann auch
kein Update, kein Reset und auch keine Einstellungen vornehmen. Immer wenn ich von der App aufgefordert
werde den Knopf am Button zu drücken, passiert nichts weiter.
Hat jemand eine Idee, was ich hier noch machen kann ?
Vielen Dank.
LG Nordlicht_2023
-
Hallo klaute,
vielen Dank für Deine Rückmeldung.
Das kann ich so nicht bestätigen. Heute ist ein für die Firma bestellter DS18B20 Sensor von
shellyparts.de angekommen und er hat sofort und anstandslos funktioniert. Er wurde sofort
vom Shelly erkannt und funktioniert seitdem anstandslos.
LG Nordlicht_2023
-
Hallo Zusammen,
da es mit den DS18B20 und den DHTxx einige Kompatibilitätsprobleme gibt, wollte ich mal eine Kompatibilitätsliste hierzu anfangen.
Anbei habe ich mal eine Tabelle für die DS18B20 und eine für die DHTxx Sensoren angefangen, in der Hoffnung von Euch weitere Informationen zu erhalten um die Tabelle ergänzen zu können
DS18B20
ID gekauft bei Kaufdatum ArtikelNr. Artikelbezeichnung Bild Funktion F05 Komputer.de 01 / 2024 KP02029 DS18B20 Wasserdichter Temperatur Sensor Hochwertige Version
Maße Hülse: 6,00 x 50,35 mm, Achung: Die neue Variante ist nicht mehr bis oben hin vergossenAnsicht_20240113_153909.jpg ja F01 Komputer.de 08 / 2016 DFR0198 DS18B20 Wasserdichter Temperatur Sensor
Maße Hülse: 6,00 x 50,10 mmAnsicht - 20240107_202811.jpg ja F03 az-delivery.de 01 / 2024 - DS18B20 1M Kabel digitaler Edelstahl Temperatursensor ohne Schrumpfschlauch, kompatibel mit Arduino und Raspberry Pi
Maße Hülse: 6,00 x 30,10 mmpasted-from-clipboard.png ja F06 az-delivery.de - - AZDelivery 10 x 3M Kabel DS18B20 digitaler Edelstahl Temperatursensor Temperaturfühler, wasserdicht kompatibel mit Arduino und Raspberry Pi leider
kein
Bildja F04 shellyparts.de 01 / 2024 - Temperaturfühler DS18B20 3m leider
kein
Bildja N01 reichelt.de 03 / 2015 DS 18S20 Aufdruck DS1820
Gehäuse: TO-92Ansicht - 20240107_164056.jpg nein, nur ID F02 amazon.de
(AZ-Delivery)02 / 2020 - AZDelivery 10 x DS18B20 Digitaler Temperatursensor TO92-55°C - +125°C kompatibel mit Arduino und Raspberry Pi inklusive eBook!
Gehäuse: TO-92Ansicht - 20240107_164134.jpg ja DHTxx
ID gekauft bei Kaufdatum ArtikelNr. Artikelbezeichnung Bild Funktion F07 Aliexpress - - AOSONG AM2302
Danke an schwarzboldAnsicht_F07.jpg ja F08 Aliexpress - - ASAIR AM2320
Danke an schwarzboldAnsicht_F08.jpg ja F09 Amazon 01 / 2024 - DHT21 / AM2301 Digitaler Temperatur und Feuchtigkeitssensor RUIZHI DHT21 / AM2301 Kapazitive Digital Temperatur und Luftfeuchtigkeit Sensor Geeignet für Haushaltsgeräte Ansicht_F09.jpg ja,
nur über 0°CF10 eBay.de
(sensus-de)01 / 2024 - AM2301 DHT21 Temperatursensor Raspberry Pi Arduino (wie DHT22 für Außen) Ansicht_F10.jpg ja, auch unter 0 °C F11 ebay.de (diy-arduino) 01 / 2024 - AM2320B Digital Temperature Humidity Sensor module AM2301 SHT21 For Arduino NEW Ansicht_F11.jpg ja, auch unter 0 °C 21.01.2024: Komplette Überarbeitung des Beitrags und Ergänzung einer Tabelle für DHTxx Sensoren.
LG Nordlicht_2023
-
Hallo PatrickR,
hier wäre noch eine Möglichkeit
Code
Alles anzeigenShelly.addStatusHandler(function (e) { if (e.component === "switch:0") { if (e.delta.output === true) { if (Shelly.getComponentConfig("switch:0")["auto_off"] == true) { console.log("Ausschalt-Timer: EIN"); console.log("Timer gestartet: " + Shelly.getComponentStatus('switch',0)["timer_started_at"]); console.log("Timer dauer: " + Shelly.getComponentStatus('switch',0)["timer_duration"]); console.log("UNIX Start: " + Shelly.getComponentStatus("sys").unixtime) console.log("UNIX Stop: " + (Shelly.getComponentStatus('switch',0)["timer_started_at"] + Shelly.getComponentStatus('switch',0)["timer_duration"])); console.log("Restdauer: " + (((Shelly.getComponentStatus('switch',0)["timer_started_at"] + Shelly.getComponentStatus('switch',0)["timer_duration"]) - Shelly.getComponentStatus("sys").unixtime) / 60)) } } } });
LG Nordlicht_2023
-
That pleases me. You're welcome
Thank you very much, I wish you a splendid evening too.
Nordlicht_2023
-
Please try the following script. It switches on when threshold <= 20 % for 10 seconds, then off for 30 seconds und gets ready only if the threshold is > 20 % again.
The many print messages are only for debugging.
Code
Alles anzeigenlet component_name_id = 'input:100'; let component_item = 'percent'; let threshold = 20.0; // component value <= threshold let pause_time = 0; let pause_threshold = 0; function switchontimer() { print("Switch OFF für 30 secs") Shelly.call("Switch.Set","{ id:0, on:false }",null,null); Timer.set(30000,false,switchofftimer); } function switchofftimer() { pause_time = 0; } print("Start and waiting.") let eventhandle = Shelly.addEventHandler( function(data) { if (data["component"] == component_name_id) { if (pause_time != 1 && pause_threshold != 1 && data["info"][component_item] <= threshold) { print("Switch ON für 10 secs - " + data["info"][component_item]) Shelly.call("Switch.Set","{ id:0, on:true }",null,null); pause_time = 1; pause_threshold = 1; Timer.set(10000,false,switchontimer); } else { if (pause_time != 1) { if (pause_threshold != 1) { print("-- value changed: " + data["info"][component_item] + " - no action needed"); } } else { print("-- value changed: " + data["info"][component_item] + " - switching paused"); } if (pause_threshold == 1) { if (data["info"][component_item] > threshold) { print("Ready and waiting.") pause_threshold = 0; } else { if (pause_time != 1) { print("-- value changed: " + data["info"][component_item] + " - waiting value to be < threshold"); } } } } } } );
-
@De kat Thank you very much. Using "getComponentStatus" and "addEventHandler" is much easier than using "shelly.call" for this. I still have to read many many pages in the api docs.
AJSG1969 Do you need a switch action every time the value changed to < 20 % ?
-
You're welcome.
I think the function from shelly.call can't call from outside and is for the processing through shelly.call only.
Try to call a timer and a new function around shelly.call. So can the timer call the "lightcheck" function every 2 seconds:
Code
Alles anzeigenfunction lightcheck () { Shelly.call("Input.GetStatus",{ id:100}, function (result, err_code, err_message, user_data) { if (err_code === 0) { console.log("LightValue:", result['percent']); if (result['percent'] < 20.0) { print("light") Shelly.call("Switch.Set","{ id:0, on:true }",null,null); } else { print("dark") Shelly.call("Switch.Set","{ id:0, on:false}",null,null); } } else { console.log("Error:", err_message); } } ); }; let timer_handle = Timer.set(2000,true,lightcheck,null);
Greetings
Nordlicht_2023
-
Hello Andrew,
welcome to the forum.
"Shelly.call" is the function you need: https://shelly-api-docs.shelly.cloud/gen2/0.14/Scri…ures#shellycall
You can try this script to get the value from the analog input (eventually you have to change the "id" value):
Code
Alles anzeigenShelly.call("Input.GetStatus",{ id:101 }, function(result, err_code, err_message, user_data) { if (err_code === 0) { console.log("Temperature:", result['percent']); if (result['percent'] < 20.0) { // do something } else { // do something else } } else { console.log("Error:", err_message); } } );
Greetings
Nordlicht_2023