Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. ELV Raumklimastation RS 500 bzw. dnt RoomLogg Pro

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    6
    1
    220

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    217

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    891

ELV Raumklimastation RS 500 bzw. dnt RoomLogg Pro

Scheduled Pinned Locked Moved JavaScript
javascriptcommunicationclimate
1 Posts 1 Posters 677 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    smarthomeNew
    wrote on last edited by
    #1

    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
    0

    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

    With your input, this post could be even better 💗

    Register Login
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    Support us

    ioBroker
    Community Adapters
    Donate

    407

    Online

    32.8k

    Users

    82.8k

    Topics

    1.3m

    Posts
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Home
    • Recent
    • Tags
    • Unread 0
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe