Beiträge von opferwurst

    sunburstc


    Habe heute den Heschen Induktiver Näherungsschalter LJ12 A3-4-Z/BX bekommen. Der hat wie vermutet keinen internen 10k Widerstand.

    Dennoch wird mein Zähleruhrplättchen nicht detektiert.




    Nun warte ich mal auf den Kapazitiven Sensor und habe noch einen grösseren induktiven LJ18 A3-4-Z/BX bestellt.


    Bis in ca.3 Wochen ... ;)

    Alsooo....


    Mein Skript sieht jetzt wie folgt aus...

    ->sensor95 r zeigt m.M. auf die nicht weiterentwickelte xsns_95_sml.ino . Ich benutze immer ->sensor53 r





    sunburstc


    Ich habe den Widerstand entfernt. Jetzt geht nix mehr. Die LED glimmt, leuchtet mal hell oder gar nicht wenn man einen metallischen Gegenstand davor hält. Habe jetzt erst mal den induktiven Heschen von Amazon bestellt...


    Für alle, welche einen Induktiven Sensor LJ12A3-4Z/BX NPN benutzen:

    Bei meinem ist ein interner 10k Widerstand verbaut.

    Somit sollte eine Diode zum Schutz des GPIOs verwendet werden:



    Quelle


    Weiterhin schaltete mein Sensor bei 5V Betriebsspannung nicht auf GND, es lag immer eine HIGH am Ausgang an, obwohl die kleine rote LED am Sensor leuchtete. Mit 12V detektiert der Sensor nun bei metallischen Gegenständen. Für mein "Metallplättchen" auf der Wasseruhr reicht es hingegen nicht. Ich werde mal einen Kapazitiver Sensor bestellen...

    Hallo gemu


    Wenn ich Dein Script zusammen mit der Zählerdefinition laufen lasse, funktioniert es:


    wenn ich aber noch meine Einzelwert-Sendscript mit dazu nehme, funktioniert das Sendescript, aber der Websend nicht!?



    Habe ich irgendwo einen Syntaxfehler? Oder darf ich z.B. den "SML#Power_curr" nur einmal zur Variablendefinition verwenden?



    Update: Mit dem folgenden Script läuft es. Ich habe alles zusammengefasst unter den entsprechenden >D, >T und >S Abschnitten.


    habe noch nichts gefunden was in rules geht und in scripter nicht.



    Hallo gemu


    Vielen Dank. Werde ich so einbauen...

    Meine rule1 vom letzten Beitrag würde ich so umsetzen:



    Eine Frage noch betreffend des Timings. Gibt es eine Definition, das Script im Teleperiod Zeitrahmen auszuführen?

    Hallo


    Da ich auch meinen Hauptzähler auf die neue Scriptingversion von tasmota umstellen möchte, würde ich gern diese zwei Rules auf Scripting umstellen:


    1.Aufsplittung des Json Strings in Einzelwerte


    MQT: tele/sonoff-sml/SENSOR = {"Time":"2019-09-29T08:54:14","SML":{"Total_in":8846,"Total_out":1035,"Power_curr":362 }}

    (Hintergrund: Der data_type des mqtt_consumer-Plugins von Telegraf steht auf float)


    Umsetzung bisher als Rule:


    Code
    1. rule1
    2. on tele-SML#Total_in do publish esp/rulesSML/total_in %value% endon
    3. on tele-SML#Total_out do publish esp/rulesSML/total_out %value% endon
    4. on tele-SML#Power_curr do publish esp/rulesSML/power_curr %value% endon

    Rule1 on // Rule1 aktivieren

    Rule1 4 // für "Once":"OFF" bei Rule1



    2.Senden des PowerOn Commands (PV-Überschuss -> S20 Steckdose)


    Code
    1. rule2
    2. on SML#Power_curr<-280 do WebSend [192.168.xxx.x] POWER1 ON endon
    3. on SML#Power_curr>-10 do WebSend [192.168.xxx.x] POWER1 OFF endon

    Rule2 on // Rule2 aktivieren

    Rule2 5 // für "Once":"ON" bei Rule2



    Ist das per Scripting möglich?

    ich selbst wollte mich eigentlich langsam zurückziehen und mit anderen Projekten beschäftigen ...

    Da möchte ich schnell noch was fragen. Ist auch möglich das M-Busprotokoll eines Wärmemengenzählers auszulesen?


    Ich habe zwar das Vorgängermodell, ich denke aber das sie bei Aquametro das Rad nicht neu erfunden haben...

    Hier wäre der Link zum Gerät : Amtron Sonic D


    Gemäss Technischer Doku bzw.Kommunikationsbeschreibung (siehe Link oben) :


    Der AMTRON® SONIC D ist mit einer optischen Schnittstelle nach ZVEI mit M-Bus-Protokoll nach EN 1434 ausgerüstet.


    Um die optische ZVEI-Schnittstelle zu aktivieren muss 2,2 sec lückenlos ein ‘0’ - ‘1’ Bitmuster mit 2400 Baud
    (= 480 Byte + $55 + 8Datenbit + No Parity + 1Stopbit) gesendet werden. Nach 11 bis 330 Bitzeiten (2400 Baud)
    Pause kann dann mit der eigentlichen Kommunikation begonnen werden.

    Nachdem das Auslesen meines Stromzählers nun funktioniert habe ich eine Frage zu Websend:


    Wie kann ich z.B. den Aktuellen Verbrauch zu http://emoncms.org senden ?


    Der Aufruf sieht z.B. so aus : https://emoncms.org/input/post?node=q3d&json={currentpower:200}&apikey=xxxxxx


    Ich habe schon ein wenig probiert, aber ohne Erfolg. Hier mal mein dilettantischer Versuch ;)


    Update . Habe es hinbekommen !


    Konsole:

    Code
    1. 17:59:20 Script: performs "Websend [80.243.190.58:80]/input/post?node=q3d&apikey=xxxxxx&json={powercurrent:24.96}"
    2. 17:59:20 MQT: stat/q3d_tasmota/RESULT = {"WebSend":"Done"}
    3. 17:59:26 MQT: tele/q3d_tasmota/SENSOR = {"Time":"2019-09-27T17:59:26","OBIS":{"Total_in":20199.9131113,"Power_p1":-1.41,"Power_p2":24.71,"Power_p3":1.66,"Power_curr":24.96,"Meter_number":"1002417"}}



    Fantastisch ! VIELEN DANK !!!

    Habe Deinen Descriptor eingetragen ...


    Besten Dank. Lustigerweise steht ja in Deinem log auch nicht viel mehr !?!

    Die folgenden Werte fehlen im log wie bei mir :


    1-0:1.7.0*255

    1-0:21.7.0*255

    1-0:41.7.0*255

    1-0:61.7.0*255


    Und bei Dir werden sie angezeigt ?! It's magic :-)


    PS. habe gerade gesehen, die Werten tauch doch einmal am Anfang auf, dann aber nicht wieder.

    bei vielen Zählern hat sich 4,7k als Pullup bewährt.

    Das kommt mit 4.7k heraus :


    Habe auch andere GPIOs und das gleiche noch am Wemos probiert. Habe ebenfalls 1k, 2.2k, 3.3k und 9.4k . Sieht alles mehr oder minder gleich aus in der Konsole. (ausser bei 9.4k kommen nur noch einzelne Symbole)

    Auch ein Tausch gegen den BPW78 brachte keine Änderung.

    Jemand noch ein Tipp ?

    Nimm mal einen anderen Pin (der keinen internen Pullup hat) zusammen mit dem 1k Pullup dann sollte es gehen.

    Hallo gemu


    Besten Dank!


    Teilerfolg:



    Verwendetes Script :


    sensor53 d1 Ausgabe:

    Jetzt habe ich an einen USB to TTL-Konverter meinen TEKT5400S+1K Pullup angeschlossen und wieder mit minicom die serielle Schnittstelle ausgelesen und was sehe ich !??


    Somit kann ich nun sämtliche Hardwarefehler eigentlich ausschliessen.

    Ich habe gleich anschliessend den NodeMCU angeschlossen. Anzeige alles mit "0", also unverändert.



    Weitere Erkenntnisse:

    -Die Positionierung muss ziemlich genau erfolgen. Nur wenige Millimeter Abweichung und es kommt nichts mehr an (habe den TEKT nun ordentlich fixiert)

    -ohne 1K Pullup geht es nicht

    Hallo sunburstc


    Vielen Dank für Deine Hinweise. Mit den Pullups und andere Pins probiere ich heute Abend noch einmal. Das 625 Problem habe ich ja mit dem NodeMCU nicht?! (ich habe jeweils mit einem WemosD1mini, mini Pro und NodeMCU getestet) . Und im Keller ist null Licht. ">D" Code ist immer drinn gewesen.

    Ich habe auch in der xsns_53_sml.ino zusätzlich meinen Zähler definiert und den Scripteditor temporär deaktiviert (gemu im Beitrag #669)


    Wie genau hast du das mit dem Volkszähler ausgelesen?

    Einfach die serielle Schnittstelle ausgelesen. Lesekopf an den USB-Port. Einstellungen 9600 7E1. Eigentlich so wie hier beschrieben: Testmöglichkeiten unter Linux

    Brauchst du noch eine Firmware? Schick mir dann deine Daten. IP für den Wemos, Port und Wifi Daten


    Cheers


    URBANsUNITED

    Auch an dieser Stelle noch einmal ein Dankeschön für den Firmwarebuild-Service von URBANsUNITED ! Konnte die firmware.bin per esptool problemlos flashen und in Betrieb nehmen.

    Leider ist auch hiermit keine Besserung eingetreten.

    Wie bereits geschrieben kann es an der Hardware kaum liegen, da die Ausgabe am Q3B funktioniert. Ausserdem habe ich mal meine TV-Fernbedienung vor die IR gehalten und da wird etwas empfangen:


    Kann eigentlich nur noch am Zähler liegen.


    Hast du mal geschaut, ob es vielleicht an einem anderen PIN funktioniert? Also Statt GPIO 3(RX) mal einen anderen zu nehmen? Zb. GPIO 14. D5.
    das musst du allerdings dann auch im Script dementsprechend von 3 auf 14 ändern. Und such hier nochmal alles probieren.
    der Hintergrund ist dieser:

    Danke für den Hinweis. Habe es gerade einmal mit dem Wemos und einmal mit einem NodeMCU V3 getestet, leider ohne Erfolg. Werde mich wohl um einem alternativen Zähler kümmern müssen...