npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

temperatur-rlf-vpd-messgeraet

v0.1.8

Published

Temperatur, RLF und VPD Messgeraet Anzeige

Readme

Temperatur-RLF-VPD-Messgerät

Eine moderne, framework-unabhängige Web Component (<climate-instrument>) zur gleichzeitigen Anzeige von Temperatur, relativer Luftfeuchtigkeit (RLF) und VPD (Vapor Pressure Deficit).

Mit diesem Instrument lassen sich für alle drei Werte individuelle Minimum-, Maximum- sowie farbliche Zonen (Grün für Normal, Gelb für Warnungen, Rot für kritische Bereiche) definieren.

🌐 Offizielle Testseite: https://bylib.bbnb.link/

by-lib multiple modes

Neu: Das Instrument unterstützt nun vier Darstellungsmodi! Sie können zwischen der klassischen linearen Balken-Ansicht (line), der halbrunden Tacho-Ansicht (semicircle), der Drei-Anzeigen-Ansicht (threedisplay) und der neuen Multilinien-Chart-Ansicht (multilinechart) wechseln.

Installation

Sobald das Paket veröffentlicht ist, kann es über npm installiert werden:

npm install temperatur-rlf-vpd-messgeraet

Verwendung in einfachem HTML / Vanilla JavaScript

  1. Binden Sie das Skript ein.
  2. Fügen Sie das Tag <climate-instrument></climate-instrument> in Ihr HTML ein. Nutzen Sie das Attribut mode, um das Aussehen zu ändern.
  3. Übergeben Sie die aktuellen Daten (data) oder für den multilinechart die Verlaufsdaten (chartData) per JavaScript.

Beispiel: Standard-Modi (Live-Daten)

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Climate Instrument Demo</title>
    <script type="module">
        import 'temperatur-rlf-vpd-messgeraet';

        document.addEventListener('DOMContentLoaded', () => {
            const instrument = document.getElementById('my-gauge');

            instrument.config = {
                temperature: { min: 15, max: 35 },
                humidity: { min: 30, max: 80 },
                vpd: { min: 0.4, max: 1.6 }
            };

            instrument.data = {
                temperature: 24.52,
                humidity: 55,
                vpd: 1.05
            };
        });
    </script>
</head>
<body style="background: #121212; padding: 50px; display: flex; justify-content: center;">
    <climate-instrument id="my-gauge" mode="threedisplay" mirror-left="true" dashboard-title="Klima"></climate-instrument>
</body>
</html>

Beispiel: Neuer Multilinien-Chart (Verlaufsdaten)

Der multilinechart Modus zeigt historische Daten in einem Liniendiagramm an, inklusive der Klimaanlagen-Temperatur (ACtemp) und den Schaltzuständen von bis zu 6 Ports (P1-P6).

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Multi-Line Chart Demo</title>
    <script type="module">
        import 'temperatur-rlf-vpd-messgeraet';

        document.addEventListener('DOMContentLoaded', () => {
            const chart = document.getElementById('my-chart');

            // Beispieldaten generieren
            const now = new Date();
            const generateData = (count, startVal, variance) => {
                return Array.from({ length: count }, (_, i) => ({
                    TarihSaat: new Date(now.getTime() - (count - i) * 3600000), // Stündlich rückwärts
                    value: startVal + (Math.random() * variance * 2 - variance)
                }));
            };

            const generatePortData = (count) => {
                return Array.from({ length: count }, (_, i) => ({
                    TarihSaat: new Date(now.getTime() - (count - i) * 3600000),
                    state: Math.random() > 0.5 ? 'ON' : 'OFF'
                }));
            };

            // chartData setzen (wichtig: Mode muss 'multilinechart' sein)
            chart.chartData = {
                title: 'Historischer Verlauf NOKTA_002',
                temperature: generateData(24, 25, 5),
                rlf: generateData(24, 60, 10),
                vpd: generateData(24, 1.2, 0.4),
                ACtemp: generateData(24, 22, 1), // Klimaanlagen Ziel-Temperatur
                ports: {
                    p1: generatePortData(24),
                    p2: generatePortData(24)
                },
                config: {
                    tempName: 'Temperatur K12',
                    rlfName: 'Luftfeuchtigkeit K12',
                    vpdName: 'VPD K12',
                    ACtempName: 'Klimaanlage Ziel', // Eigener Name für die Legende (Standard: AC Temp)
                    ACtempColor: 'black', // Eigene Farbe (Standard: black)
                    portState: { p1: true, p2: true, p3: false, p4: false, p5: false, p6: false },
                    portName: { p1: 'Lüfter', p2: 'Pumpe' }
                }
            };
        });
    </script>
</head>
<body style="background: #f0f0f0; padding: 50px;">
    <!-- Mode auf multilinechart setzen -->
    <climate-instrument id="my-chart" mode="multilinechart"></climate-instrument>
</body>
</html>

Verwendung in Angular

HTML-Template

<div class="dashboard">
  <!-- Live-Daten Modi -->
  <climate-instrument 
    mode="threedisplay"
    [config]="gaugeConfig" 
    [data]="currentData">
  </climate-instrument>

  <!-- Verlaufs-Chart Modus -->
  <climate-instrument 
    mode="multilinechart"
    [chartData]="historyData">
  </climate-instrument>
</div>

TypeScript Component

import { Component } from '@angular/core';
import { ClimateInstrumentConfig, ClimateData, ChartInputData } from 'temperatur-rlf-vpd-messgeraet';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'
})
export class AppComponent {
  
  // Für Live-Daten
  gaugeConfig: ClimateInstrumentConfig = { /* ... */ };
  currentData: ClimateData = { temperature: 24.5, humidity: 55, vpd: 1.0 };

  // Für Historien-Chart
  historyData: ChartInputData = {
    title: 'Mein Verlauf',
    temperature: [ { TarihSaat: new Date(), value: 25.5 } /* ... */ ],
    rlf: [ { TarihSaat: new Date(), value: 60 } /* ... */ ],
    vpd: [ { TarihSaat: new Date(), value: 1.1 } /* ... */ ],
    ACtemp: [ { TarihSaat: new Date(), value: 22.0 } /* ... */ ], // Optional: Klimaanlagen-Wert
    ports: {
      p1: [ { TarihSaat: new Date(), state: 'ON' } /* ... */ ]
    },
    config: {
      portState: { p1: true },
      ACtempColor: 'black', // Optional, Default: 'black'
      ACtempName: 'AC Zielwert' // Optional, Default: 'AC Temp'
    }
  };
}

Eigenschaften und Attribute

HTML-Attribute

  • mode ("line" | "semicircle" | "threedisplay" | "multilinechart"): Bestimmt das Erscheinungsbild der Komponente.
  • dashboard-title (string): Bestimmt die angezeigte Überschrift über den Instrumenten (wird im multilinechart nicht verwendet, dort nutzt man chartData.title).
  • mirror-left / mirror-right (boolean): Spiegelt die Instrumente im "threedisplay"-Modus horizontal.

Properties (JavaScript / Angular)

  • config (ClimateInstrumentConfig): Konfiguration der Skalen (Min/Max/Zonen) für die Live-Modi.
  • data (ClimateData): Aktuelle numerische Live-Werte. Zeiger animieren sich bei Änderung.
  • chartData (ChartInputData): Nur für mode="multilinechart". Erwartet ein Objekt mit Arrays für historische Temperatur-, RLF-, VPD-, ACtemp- und Port-Zustands-Verläufe inklusive Zeitstempeln.

Lizenz

MIT