[Stromzähler (Ferraris)] Smart machen für unter 10€ mit ioBroker und NodeMCU [Tutorial] [HD]

  • hallöchen,

    habe das problem das die manuell angelegten "arbeitsvariablen und Zaehlerstand" leer bleiben.

    count und total weden ordnugsgemäß übermittelt.

    habe das skript von dennis übernommen und selbstverständlich die objekt id`s geändert usw..


    vill. kann mir ja da jemand einen tip geben was ich falsch gemach bzw. vergessen hab... =O

  • javascript.0 2018-08-02 17:58:38.199 error (script.js.common.stromzaeler:4:65)" style="">at Object.<anonymous> (script.js.common.stromzaeler:4:65)
    javascript.0 2018-08-02 17:58:38.199 error Error in callback: TypeError: Cannot read property 'val' of undefined
    javascript.0 2018-08-02 17:58:38.195 error script.js.common.stromzaeler: Cannot use sync getState, use callback instead getState("mqtt.0.stromzaehler.strom_test.Aebeitsvariable", function (err, state){}); or disable the "Do not subscribe all
    mqtt.0 2018-08-02 17:58:32.175 info Client [ESPClient1] subscribes on "/stromzaehler/#" with regex /^mqtt\.0\.stromzaehler\..*/
  • Ich nehme mal stark an, dass die Fehlermeldung C&P ist und somit keinen Tippfehler haben sollte?

    Dann sieht das aber nicht so koscher aus :)

    ...getState("mqtt.0.stromzaehler.strom_test.Aebeitsvariable"...

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."


    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • danke für die antwort :-) aber der ordner würde ja manuell angelegt, deshalb ist es doch eigentlich egal wie man ihn nennt ;-) man klickt das objekt im skript doch an und dann wird es so übernommen wie man es genannt hat , auch mit dem tippfehler ;-) ...


    kann man evtl. aus den o.g. logdaten was anfangen, kenne mich leider nicht so aus :-)

  • Das schon, er probiert aber hier aus MQTT zu lesen und das kommt von der NodeMCU. Wenn du es dort auch "Aebeitsvariable" benannt hast ist alles Ok, sonst kommt es zu deinem Fehler. Er "beschwert" sich nur, dass er den Wert nicht lesen kann (und damit bleibt er und ggf. alle darauf basierenden Werte leer oder fehlerhaft) :)

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."


    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • javascript.0 2018-08-03 12:47:18.286 error (script.js.meine_geraete.stromzaehlersch:4:65)" style="">at Object.<anonymous> (script.js.meine_geraete.stromzaehlersch:4:65)
    javascript.0 2018-08-03 12:47:18.286 error Error in callback: TypeError: Cannot read property 'val' of undefined
    javascript.0 2018-08-03 12:47:18.282 error script.js.meine_geraete.stromzaehlersch: Cannot use sync getState, use callback instead getState("mqtt.0.stromzaehler.strom_test.Arbeitsvariable", function (err, state){}); or disable the "Do not sub
  • Nenene, du bist schon richtig :)

    Aber...

    Lt. deinem Log ist der erste Fehler "getState("mqtt.0.stromzaehler.strom_test.Arbeitsvariable"...

    Der besagt so viel wie "lese Datenpunkt 'Arbeitsvariable' von [Objekte] mqtt.0 -> stromzaehler -> strom_test"

    Den sollte es aber eigentlich gar nicht geben, denn die NodeMCU liefert nur "Count, Total und Time" (<- so aus dem Gedächtnis heraus). Klar dass er dann meckert, dass er den nicht lesen kann.

    Wenn du diesen aber nun per Hand genau dort anlegst, kann das Blockly auch genau dort den Wert "zwischenspeichern". Wie du "Arbeitsvariable" nun genau nennst ist zwar völlig egal, nur musst du sie halt dann überall gleich nennen. Ich vermute durch den Tippfehler(?) hast du einfach an einer Stelle noch die "echte Arbeitsvariable" im Blockly drin stehen gehabt.

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."


    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • bekomme leider immer noch diese fehlermeldungen :-(

    hab mir das viedeo nochmal angeschaut und alles genau so gemacht


    die ordner nochmal gelöscht und neu angelegt.


    Count , Time und Total wird einwandfrei zum iobroker übermittelt, nur die Arbeitsvariable und Zaehlerstand bleibt rot und bei 0 kw/h stehen


    javascript.0 2018-08-04 17:58:57.299 error (script.js.meine_geraete.stromzaehlersch:4:59)" style="">at Object.<anonymous> (script.js.meine_geraete.stromzaehlersch:4:59)
    javascript.0 2018-08-04 17:58:57.299 error Error in callback: TypeError: Cannot read property 'val' of undefined
    javascript.0 2018-08-04 17:58:57.295 error script.js.meine_geraete.stromzaehlersch: Cannot use sync getState, use callback instead getState("mqtt.0.stromzaehler.test.Arbeitsvariable"
  • leider immer noch die selbe fehlermeldung :-(


    at Object.<anonymous> (script.js.meine_geraete.stromzaehlersch:4:59)


    error in callback: TypeError: Cannot read property 'val' of undefined


    script.js.meine_geraete.stromzaehlersch: Cannot use sync getState, use callback instead getState("mqtt.0.stromzaehler.test.Arbeitsvariable

    -----------------------------------------------------------------------------------------------------------------------------------

    zaehlerstand und arbeitsvariable bleiben einfach auf 0

    schimmer-media.de/index.php?attachment/3694/

  • Meine Rede ^^

    ...und da es zum Thema passt: für den ein oder anderen ist in 18 Monaten eh Schluss, dann herrscht für ihn SmartMeter-Pflicht, außer schon jetzt bei > 10kkWh, Solaranlagen, BHKWs...


    Bei genügend Platz empfehle ich eh einen ungeeichten Drehstromzähler mit S0-Ausgang. Kostet ~25,-€ und zählt ganz genau :)

    Hi...ich habe die Stadtwerke den Auftrag gegeben den alten Zähler durch eine Digitalen Strömzähler mit S0 zu tauschen. Was muss ich beachten um den Implus in den IObroker zu übernehmen. Was für Bauteile benötige dafür ?Aktuell läuft der Zähler mit einer ModeMCU !


    Danke für Eure Infos vorab...

  • leider immer noch die selbe fehlermeldung

    Irgendwas machst du (zumindest konsequent :S ) nicht ganz richtig.

    Versuch es doch mal 1:1 zu übernehmen, ohne größere Änderung. Wenn es dann läuft, kann man es auch den eigenen Bezeichnungen/Wünschen etc. anpassen.

    Ansonsten Screeny von deinem Blockly (bitte kein "Handy-Screenshot" ;) ) und deinem kpl. Objektepfad, also mqtt.0.... (nicht relevante Datenpunkte kannst du auch gerne pixeln :) )

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."


    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • Was rein will, muss auch wieder raus ;)

    Es genügt also ihn an den Nullleiter zu klemmen (gefällt mir bei dem gut, da man ihn einfach "drum klipsen" kann. Andere sind geschlossen und man muss das Kabel lösen, um es durch stecken zu können). Sollte man allerdings einen Drehstrommotor in Sternschaltung im Haus haben, muss man tatsächlich jede Phase einzeln messen, da diese ohne Nullleiter laufen. Deren Verbrauch ginge also an einem vorüber...

    So "einfach" wie beim Ferraris ist es dann aber nun nicht mehr. Du misst damit nur den Strom. Du musst jetzt noch die Spannung messen, da diese durchaus um einiges schwankt. Daraus kann man nun die Leistung berechnen ( P=U*I ) und die elektrische Arbeit ( W=P*t ).

    Vorteil: du kannst in Echtzeit sehen was ein Gerät verbraucht

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."


    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>