Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. ELV Raumklimastation RS 500 bzw. dnt RoomLogg Pro

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    ELV Raumklimastation RS 500 bzw. dnt RoomLogg Pro

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      smarthomeNew last edited by

      Hallo,
      ich wende mich nun doch mit einem neuen Topic ans Forum, weil ich selbst nicht weiter komme.
      Meine Entwicklerkentnisse sind eher mäßig, bisher hangelte ich mich bei allen meinen Projekten durch google immer irgendwie zum Ziel. Aber eher so trial error oder learning by doing 😉
      Jetzt komme ich leider nicht weiter.

      Bin ioBroker Neuling (nutze ich erst seit ca. 3 Tagen) und darüber hinaus auch sehr Linux unerfahren (iObroker läuft auf einem Raspberry)

      Ich brauche Hilfe!

      Ausgangssituation:

      • ioBroker läuft auf einem RaspberryPi2 (Debian Bullseye)
      • node.js und NPM sind auf aktuellem Stand:
      • Node.js: v18.11.0
      • NPM: 8.19.2
      • ein dnt RoomLogg Pro mit 8 verbundenen Sensoren ist per USB an dem Pi, auf dem auch der ioBroker läuft, angeschlossen

      Was ich erreichen möchte:
      Die Temperatur und Luftfeuchtedaten als Objekte im ioBroker zur Verfügung haben, gerne natürlich auch historische Daten als json etc.

      Wie weit ich bisher bin:
      Die Daten der Raumklimastation lassen sich wohl relativ problemlos auslesen. Hier hat schonmal jemand geniale vorarbeit geleistet und ein github verfasst: juergen-rocks/raumklima

      Ich weiß so also, dass ich definitiv irgendwie an die Daten der Raumklimastation komme. Ich habe also weiter recherchiert und bin auch folgenden Foreneintrag hier im Forum gestoßen:
      [Vorlage] Wetterdatenempfänger USB-WDE1-2 von ELV

      Da dieser USB Wetterempfänger vom gleichen Hersteller wie meine Raumklimastation ist, wollte ich das Skript ausprobieren.
      Also habe ich mich etwas mit dem Javascript Adapter befasst und auch durch eine nützliche Antwort dort herausgefunden, dass ein "serialport" bei Zusätzliche NPM-Module in der Instanzeinstellung nötig ist.
      Leider kommt dann in dem Script der Fehler:

       TypeError: SerialPort is not a constructor
      

      Nach Google Bemühungen fand ich heraus, dass das wohl daran liegt, dass das Script noch mit einer SerialPort Version älter als 9.X erstellt worden ist.
      Ich probierte also auch, in den Javascript Instanzeinstellungen serialport@9.2.8 als npm Mpodul hinzuzufügen.
      Leider kamen dann diverse, nicht mehr reproduzierbare Fehler dazu. Habe dann einen Fehler nach dem anderen gegoogled.
      Ich fand dann folgende Forenbeiträge: Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

      Scheinbar lässt sich mein Vorhaben also doch mit der aktuellen SerialPort Version realisieren. Ich habe also einee frtische SD Karte aufgesetzt mit neuer ioBroker umgebung um nochmal sauber anzufangen.

      Dort habe ich wieder serialport als npm Modul im Javascript Adapter hinzugefügt und habe mich an diesen Code gehalten: SerialPort Usage

      Und tatsächlich (meine Freude war riesig ;)) bekomme ich mit folgendem Code:

      const { SerialPort } = require('serialport')
      
      // Create a port
      const port = new SerialPort({
        path: '/dev/ttyAMA0',
        baudRate: 57600,
      })
      
      console.log(port);
      

      Auch diese Ausgabe:

      javascript.0 (2751) script.js.raumklimastation: {'_readableState':{'objectMode':false,'highWaterMark':65536,'buffer':{'head':null,'tail':null,'length':0},'length':0,'pipes':[],'flowing':null,'ended':false,'endEmitted':false,'reading':false,'constructed':true,'sync':true,'needReadable':false,'emittedReadable':false,'readableListening':false,'resumeScheduled':false,'errorEmitted':false,'emitClose':true,'autoDestroy':true,'destroyed':false,'errored':null,'closed':false,'closeEmitted':false,'defaultEncoding':'utf8','awaitDrainWriters':null,'multiAwaitDrain':false,'readingMore':false,'dataEmitted':false,'decoder':null,'encoding':null},'_events':{},'_eventsCount':0,'_maxListeners':100,'_writableState':{'objectMode':false,'highWaterMark':65536,'finalCalled':false,'needDrain':false,'ending':false,'ended':false,'finished':false,'destroyed':false,'decodeStrings':true,'defaultEncoding':'utf8','length':0,'writing':false,'corked':0,'sync':true,'bufferProcessing':false,'writecb':null,'writelen':0,'afterWriteTickInfo':null,'buffered':[],'bufferedIndex':0,'allBuffers':true,'allNoop':true,'pendingcb':0,'constructed':true,'prefinished':false,'errorEmitted':false,'emitClose':true,'autoDestroy':true,'errored':null,'closed':false,'closeEmitted':false},'allowHalfOpen':true,'settings':{'autoOpen':true,'endOnClose':false,'highWaterMark':65536,'binding':{},'path':'/dev/ttyAMA0','baudRate':57600},'opening':true,'closing':false,'_pool':{'type':'Buffer','data':[48,98,109,5,72,25,50,5,48,98,109,5,72,25,50,5,49,54,54,53,57,52,50,53,57,54,52,56,50,125,13,10,232,17,0,0,176,0,0,0,42,52,13,10,36,56,13,10,112,109,101,115,115,97,103,101,13,10,36,49,13,10,42,13,10,36,50,57,13,10,115,121,115,116,101,109,46,104,111,115,116,46,112,97,108,97,122,122,111,112,105,46,102,114,101,101,109,101,109,13,10,36,57,55,13,10,123,34,118,97,108,34,58,51,54,57,44,34,97,99,107,34,58,116,114,117,101,44,34,116,115,34,58,49,54,GEKUERZT]},'_kMinPoolSpace':128}
      

      Habe das dann auch in einen JSON Editor kopiert und man sieht tatsächlich ein sinnvolles Gerüst.
      Jetzt habe ich irgendwie probiert, diese "Buffer data" so auszulesen, dass ich irgendwie ein ähnliches Gerüst bekomme wie bei github beschrieben, habe es aber nicht geschafft.

      Kann mir irgendjemand helfen?
      Ich hoffe der Text ist nicht zu lange gewesen und es sind alle benötigten Informationen enthalten.

      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      401
      Online

      31.9k
      Users

      80.2k
      Topics

      1.3m
      Posts

      climate communication javascript
      1
      1
      521
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo