Alternative Sensoren einbinden?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Alternative Sensoren einbinden?

    Hallo Ihr lieben,

    benutze den SHC schon sehr lange und bin wirklich sehr zufrieden damit. Habe einen Raspberry als Master und einige ESP-12 als Slave (Schaltserver, Sensorsender).

    Nun würde ich gern noch den PH-Wert (Atlas Scientific) an den Master senden und dort natürlich auch ausgeben.
    Ist es denn möglich, einen neuen Typen zu erstellen? Oder kann ich dem Master einfach vorgauckeln, es würde sich um Typ1 (D18b20) handeln, doch als Wert die vom PH-Messgerät senden?

    Schöner wäre es natürlich einen neuen Typen zu erstellen, welche dann auch als PH-Sensor deklariert ist.

    Würde mich über Antworten/Tipps sehr freuen.

    Viele Grüße
  • vll. hilft es ja dem ein oder Anderen.... hab mir mal den quelltext und die zugehörigen kommentare und values zusammengefasst um externe sensoren per script an den SHC zu senden via curl

    type1 = DS18x20 Sensor
    type2 = DHT //$value1 => Temperatur in °C //$value2 => Luftfeuchte in %
    type3 = BMP //$value1 => Temperatur in °C //$value2 => Luftdruck in hPa //$value3 => Altitude in m
    type4 = Regensensor //$value1 => Digitalisierter Analogwert (0 - 1023)
    type5 = Feuchtigkeitssensor //$value1 => Digitalisierter Analogwert (0 - 1023)
    type6 = Lichtstärke //$value1 => Digitalisierter Analogwert (0 - 1023)
    type7 = AVM Steckdose //$value1 => Temperatur in °C //$value2 => aktuell entnommene Leistung in mW //$value3 => entnommene Leistung in Wh
    type7 = EDIMAX Steckdose //$value1 => aktuell entnommene Leistung in mW //$value2 => entnommene Leistung in Wh
    type8 =
    type9 = Gaszähler //$value1 => Gasmenge in ml (wird zum bestehenden Wert addiert)
    type10 = Wasserzähler //$value1 => Wassermenge in ml (wird zum bestehenden Wert addiert)
    type11 = COMET DECT Heitkoerperthermostat //$value1 => Temperatur in °C
    type12 = Energiemesser //$value1 => aktuell entnommene Leistung in mW
    type13 = Entfernungsmesser //$value1 => Abstand in mm
    type500 = Virtueller Sensor Energie
    type501 = Virtueller Sensor Menge
    tpye502 = Virtueller Sensor Luftfeuchte
    type503 = Virtueller Sensor Lichtstärke
    type504 = Virtueller Sensor Feuchtigkeit
    type505 = Virtueller Sensor Stromverbrauch
    type506 = Virtueller Sensor Temperatur
    type999 =
  • Habe versucht eine Kopie des DS18x20 als Kopie mit anderen Namen und Typen zu verwenden:

    Hier grob mein Ablauf:


    1. Hinzufügen eines neuen Types --> sensorpointeditor.class.php
    - neuen Sensortypen einbetten --> Zeile 166
    - Neu eingebetteten Sensor lesen --> Zeile 507 - 523 *aktuell noch werte temperature*
    - Sensor erstellen --> Zeile 1054
    - Sensor Daten für db vorbereiten --> 1233
    - bearbeiten des Sensor --> 1877


    2. neue Sensor-Skripte hinzufügen

    - Kopie eines vorhandenen Sensors (/var/www/shc/shc/lib/sensor/sensors)
    bsp Kopie des DS18x20 mit namen des neuen Sensortypen (atlasph.class.php)

    - Skript im sensorpointeditor importieren --> Zeile 17

    3. Sensor übermitteln --> abstractsensor.class.php --> Bug!!! sobald vom typen eine neue instance erstellt wird, kommt es zu fehlern in den Schaltelementen, sowie Sensorpunkten
    - Skript im abstractsensor importieren --> Zeile 18
    - Typnamen zurück geben --> Zeile 468
    3a. Sprache switchable Managment --> /var/www/shc/shc/data/lang/de/acp/switchablemanagement.lang.php
    - neuen Typen einfügen --> Zeile 52

    4. Sensordaten zur Fehlersuche --> sensordatatransmitter.class.php --> Baustelle!
    --> Für Slave Sensor vermutlich keine Änderungen des Skripts
    - einfügen des neuen Sensors -->

    5. Sensor Hilfs Anzeige --> /var/www/shc/shc/lib/view/room/sensorviewhelper.class.php
    - Skript im sensorviewhelper importieren --> Zeile 17
    - neues HTML Fragment zur Anzeige des Sensors erstellen --> Zeile 100
    - Daten des neuen Sensor für die Anzeige vorbereiten --> 799 (bearbeitung fällig)

    6. Verarbeitung der daten des neuen Sensors --> /var/www/shc/shc/data/commands/all/pushsensorvaluesajax.class.php
    - einfügen der Verarbeitung --> Zeile 278

    7. Verarbeitung der daten des neuen Sensors --> /var/www/shc/shc/data/commands/all/roomsync.class.php
    - Skript im sensorviewhelper importieren --> Zeile 22
    - Sensor synchronisieren --> Zeile 160, 233, 355

    Sobald ein Sensor hinzugefügt wurde, lässt sich kein Sensor mehr anzeigen und die HTML-Anzeige der Schaltelemente ist falsch

    8. Sensorform hinzufügen --> /var/www/shc/shc/lib/form/forms/sensors


    Viele Grüße