Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    966

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

ELV Raumklimastation RS 500 bzw. dnt RoomLogg Pro

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascriptcommunicationclimate
1 Beiträge 1 Kommentatoren 655 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    smarthomeNew
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    746

    Online

    32.6k

    Benutzer

    82.2k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe