Hauptmenü

Neueste Beiträge

#1
Wettermodule / Aw: Modul für Weather Undergro...
Letzter Beitrag von CoolTux - 11 Oktober 2024, 07:05:15
https://git.cooltux.net/FHEM/mod-Weather


Ich teste das die Tage und gehe davon aus es kommende Woche ins svn zu geben.
#2
Sonstiges / Aw: SSCam - nach Systemwechsel...
Letzter Beitrag von Icinger - 11 Oktober 2024, 04:33:52
Bitteschön:

2024.10.11 04:32:08 4:  SSCam.Stiege - ####################################################
2024.10.11 04:32:08 4:  SSCam.Stiege - ###    start cam operation Getcapabilities         
2024.10.11 04:32:08 4:  SSCam.Stiege - ####################################################
2024.10.11 04:32:08 4:  SSCam.Stiege - --- Start getApiSites ---
2024.10.11 04:32:08 4:  SSCam.Stiege - API imported:
$VAR1 = {
  'AUDIOSTM' => {
    'NAME' => 'SYNO.SurveillanceStation.AudioStream',
    'mk' => 0
  },
  'AUTH' => {
    'NAME' => 'SYNO.API.Auth',
    'mk' => 1
  },
  'CAM' => {
    'NAME' => 'SYNO.SurveillanceStation.Camera',
    'mk' => 1
  },
  'CAMEVENT' => {
    'NAME' => 'SYNO.SurveillanceStation.Camera.Event',
    'mk' => 1
  },
  'EVENT' => {
    'NAME' => 'SYNO.SurveillanceStation.Event',
    'mk' => 1
  },
  'EXTEVT' => {
    'NAME' => 'SYNO.SurveillanceStation.ExternalEvent',
    'mk' => 1
  },
  'EXTREC' => {
    'NAME' => 'SYNO.SurveillanceStation.ExternalRecording',
    'mk' => 1
  },
  'HMODE' => {
    'NAME' => 'SYNO.SurveillanceStation.HomeMode',
    'mk' => 0
  },
  'INFO' => {
    'NAME' => 'SYNO.API.Info',
    'PATH' => 'query.cgi',
    'VER' => 1,
    'mk' => 1
  },
  'LOG' => {
    'NAME' => 'SYNO.SurveillanceStation.Log',
    'mk' => 1
  },
  'PRESET' => {
    'NAME' => 'SYNO.SurveillanceStation.PTZ.Preset',
    'mk' => 1
  },
  'PTZ' => {
    'NAME' => 'SYNO.SurveillanceStation.PTZ',
    'mk' => 1
  },
  'REC' => {
    'NAME' => 'SYNO.SurveillanceStation.Recording',
    'mk' => 1
  },
  'SNAPSHOT' => {
    'NAME' => 'SYNO.SurveillanceStation.SnapShot',
    'mk' => 1
  },
  'STM' => {
    'NAME' => 'SYNO.SurveillanceStation.Stream',
    'mk' => 1
  },
  'SVSINFO' => {
    'NAME' => 'SYNO.SurveillanceStation.Info',
    'mk' => 1
  },
  'VIDEOSTM' => {
    'NAME' => 'SYNO.SurveillanceStation.VideoStreaming',
    'mk' => 1
  },
  'VIDEOSTMS' => {
    'NAME' => 'SYNO.SurveillanceStation.VideoStream',
    'mk' => 0
  }
};

2024.10.11 04:32:08 4:  SSCam.Stiege - Call-Out now: http://192.168.1.25:5000/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.SurveillanceStation.PTZ,SYNO.API.Info,SYNO.SurveillanceStation.Info,SYNO.SurveillanceStation.HomeMode,SYNO.SurveillanceStation.VideoStream,SYNO.SurveillanceStation.Camera.Event,SYNO.SurveillanceStation.Log,SYNO.SurveillanceStation.VideoStreaming,SYNO.SurveillanceStation.Camera,SYNO.SurveillanceStation.SnapShot,SYNO.SurveillanceStation.ExternalRecording,SYNO.API.Auth,SYNO.SurveillanceStation.AudioStream,SYNO.SurveillanceStation.Event,SYNO.SurveillanceStation.PTZ.Preset,SYNO.SurveillanceStation.Recording,SYNO.SurveillanceStation.ExternalEvent,SYNO.SurveillanceStation.Stream
2024.10.11 04:32:08 4:  SSCam.Stiege - installed SVS version is: 92111380
2024.10.11 04:32:08 4:  SSCam.Stiege - ------- Begin of adaption section -------
2024.10.11 04:32:08 4:  SSCam.Stiege - Version of SYNO.API.Auth adapted to: 6
2024.10.11 04:32:08 4:  SSCam.Stiege - ------- End of adaption section -------
2024.10.11 04:32:08 4:  SSCam.Stiege - ------- Begin of simulation section -------
2024.10.11 04:32:08 4:  SSCam.Stiege - ------- End of simulation section -------
2024.10.11 04:32:08 4:  SSCam.Stiege - API completed after retrieval and adaption:
$VAR1 = {
  'AUDIOSTM' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.AudioStream',
    'PATH' => undef,
    'VER' => undef,
    'mk' => 0
  },
  'AUTH' => {
    'MOD' => 'yes',
    'NAME' => 'SYNO.API.Auth',
    'PATH' => 'entry.cgi',
    'VER' => '6',
    'mk' => 1
  },
  'CAM' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.Camera',
    'PATH' => 'entry.cgi',
    'VER' => 9,
    'mk' => 1
  },
  'CAMEVENT' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.Camera.Event',
    'PATH' => 'entry.cgi',
    'VER' => 1,
    'mk' => 1
  },
  'EVENT' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.Event',
    'PATH' => 'entry.cgi',
    'VER' => 5,
    'mk' => 1
  },
  'EXTEVT' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.ExternalEvent',
    'PATH' => 'entry.cgi',
    'VER' => 1,
    'mk' => 1
  },
  'EXTREC' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.ExternalRecording',
    'PATH' => 'entry.cgi',
    'VER' => 3,
    'mk' => 1
  },
  'HMODE' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.HomeMode',
    'PATH' => 'entry.cgi',
    'VER' => 1,
    'mk' => 0
  },
  'INFO' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.API.Info',
    'PATH' => 'entry.cgi',
    'VER' => 1,
    'mk' => 1
  },
  'LOG' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.Log',
    'PATH' => 'entry.cgi',
    'VER' => 3,
    'mk' => 1
  },
  'PARSET' => 1,
  'PRESET' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.PTZ.Preset',
    'PATH' => 'entry.cgi',
    'VER' => 1,
    'mk' => 1
  },
  'PTZ' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.PTZ',
    'PATH' => 'entry.cgi',
    'VER' => 6,
    'mk' => 1
  },
  'REC' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.Recording',
    'PATH' => 'entry.cgi',
    'VER' => 6,
    'mk' => 1
  },
  'SNAPSHOT' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.SnapShot',
    'PATH' => 'entry.cgi',
    'VER' => 1,
    'mk' => 1
  },
  'STM' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.Stream',
    'PATH' => 'entry.cgi',
    'VER' => 1,
    'mk' => 1
  },
  'SVSINFO' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.Info',
    'PATH' => 'entry.cgi',
    'VER' => 8,
    'mk' => 1
  },
  'VIDEOSTM' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.VideoStreaming',
    'PATH' => 'entry.cgi',
    'VER' => 1,
    'mk' => 1
  },
  'VIDEOSTMS' => {
    'MOD' => 'no',
    'NAME' => 'SYNO.SurveillanceStation.VideoStream',
    'PATH' => undef,
    'VER' => undef,
    'mk' => 0
  }
};

Wobei ich jetzt nicht wirklich einen Unterschied erkennen kann :(
Hab grad extra 3mal kontrolliert, ob ich das simu-Attribut eh überall gelöscht habe.

lg, Stefan
#3
DOIF / Aw: Reaktion auf Zähleränderun...
Letzter Beitrag von Per - 11 Oktober 2024, 01:01:46
Da der Zähler eh nur eine Richtung kennt, reicht es, wenn du auf Event reagierst. Dazu wait 0:xxx (musst du sehen, welche Zeit sinnvoll ist) und resetwait nutzen.
([Gaszaehler:"gas_total"])()()Und statt setReading kannst du mit
cmdState on|off
ein vergleichbares Ergebnis erzielen.
#4
Bastelecke / Aw: Weil´s sein musste … Thema...
Letzter Beitrag von Papa Romeo - 11 Oktober 2024, 00:16:37
Im Anhang mal ein Auszug aus dem Sketch, wie der Pairing_Code erzeugt wird:

String SettingsManager::generateNewPairingCode() {

    /* Create a SHA256 hash */
    SHA256 hasher;

    /* Put some unique values as input in our new hash */
    hasher.doUpdate( String(esp_random()).c_str() ); // random number
    hasher.doUpdate( String(millis()).c_str() ); // time since boot
    hasher.doUpdate(getTimestampString().c_str()); // current time (if NTP is available)
    hasher.doUpdate(appSettings.mqttUsername.c_str());
    hasher.doUpdate(appSettings.mqttPassword.c_str());
    hasher.doUpdate(wifiSettings.ssid.c_str());
    hasher.doUpdate(wifiSettings.password.c_str());

    /* Compute the final hash */
    byte hash[SHA256_SIZE];
    hasher.doFinal(hash);
   
    // Convert our 32 byte hash to 32 chars long hex string. When converting the entire hash to hex we would need a length of 64 chars.
    // But because we only want a length of 32 we only use the first 16 bytes of the hash. I know this will increase possible collisions,
    // but for detecting a sensor replacement (which is the use-case here) it will still be enough.
    char hexString[33];
    hexString[32] = 0; // null terminatation byte for converting to string later
    for (byte i=0; i < 16; i++) // use only the first 16 bytes of hash
    {
        sprintf(&hexString[i*2], "%02x", hash[i]);
    }

    return String((char*)hexString);
}

... irgendwie erkenne ich hier keine Komponente die Fingerprint-Sensor spezifisch ist  :-\

LG
Papa Romeo
#5
Bastelecke / Aw: Weil´s sein musste … Thema...
Letzter Beitrag von Papa Romeo - 11 Oktober 2024, 00:01:33
Sodale ... und wieder ein Stück schlauer.

Ich hab jetzt den Fingerprint-Sensor wieder an den ersten ESP32 Mini angeschlossen, wo auch die Namen zu den einzelnen registrierten Finger hinterlegt sind.
Hier zeigt er jetzt zwar an, dass er die Finger kennt, mit Speicherplatz, Namen und Vertraulichkeit, sagt aber, dass auf Grund eines fehlerhaften Pairings
keine MQTT-Meldungen abgesetzt werden. Betätigt man aber nun den Pairing-Button unter Settings, führt er dieses aus und alles funktioniert wieder wie gewohnt.

LG
Papa Romeo
#6
DOIF / Reaktion auf Zähleränderung
Letzter Beitrag von Knallfrosch - 11 Oktober 2024, 00:01:05
Hallo zusammen,

ich versuche mit einem DOIF den Brennerzustand über den Gasbezug anzuzeigen.

ZIEL: Ändert sich der Wert des Gaszaehler:gas_total = Brenner EIN, ändert sich der Gaszaehler:gas_total 60s nicht mehr = Brenner AUS

Ich scheitere aber schon an der Bedingung für Brenner EIN.

Folgendes habe ich bisher versucht:

Im Gaszaehler habe ich das attr Oldreading für den Zählwert (gas_total) angelegt.

und

([Gaszaehler:gas_total] > [Gaszaehler:gas_total_Old])
(setreading Gasheizung_Zustand status Brenner EIN)

DOELSE       (setreading Gasheizung_Zustand status Brenner AUS)

Das funktioniert leider nicht, da die Bedingung "EIN" quasi immer erfüllt ist.

Kann mir bitte jemand helfen wie ich das o.g. Ziel erreichen kann?

Vielen Dank.


#7
Bastelecke / Aw: Weil´s sein musste … Thema...
Letzter Beitrag von Papa Romeo - 10 Oktober 2024, 23:38:29
Hallo Christoph,

im Anhang die Datei mit meinen Änderungen.

Schau dir´s mal an.

Nutze einfach die Update-Funktion unter Settings des geflashten Originalsketches.

LG
Papa Romeo
#8
Anfängerfragen / Aw: Heizkörperthermostat RST 2...
Letzter Beitrag von passibe - 10 Oktober 2024, 23:30:53
Kenne mich nicht mit den Innogy Thermostaten aus, aber ja, das HM-MOD-RPI-PCB reicht für HomeMatic (IP) aus. Ich glaube bei einem RPi Model B ist das auch die einzige Option, denn das RPI-RF-MOD ist nur mit dem RPi 3 und neuer kompatibel.

Soweit ich weiß musst du die Innogy Thermostate aber auf HM umflashen? Nicht sicher, ob/wie das geht.
#9
Bastelecke / Aw: Weil´s sein musste … Thema...
Letzter Beitrag von pc1246 - 10 Oktober 2024, 23:27:17
Moin
Ich habe jetzt mal mit dem Frickelzeugs angefangen.
Das war jetzt mit dem neuen Rechner einfacher.
Wenn PapaRomeo seine Aenderungen zur Verfuegung stellen wuerde, waere ich interessiert!
Lesen und Publishentut es schon, aber dieses blaue geblinke nervt!
Danke und Gruss
Christoph
#10
Bastelecke / Aw: Weil´s sein musste … Thema...
Letzter Beitrag von Papa Romeo - 10 Oktober 2024, 23:19:57
Zitat von: UweH am 10 Oktober 2024, 17:56:04Soso...wo hast Du die denn gefunden?

die Adafruit_Fingerprint.h entsprechend modifiziert:


#define FINGERPRINT_LED_GREEN  0x04      //!< Grüne LED
#define FINGERPRINT_LED_YELLOW 0x05      //!< Gelbe LED
#define FINGERPRINT_LED_CYAN  0x06      //!< Cyan LED
#define FINGERPRINT_LED_WHITE  0x07      //!< Weiße LED


... ist aber auch schon in der Adafruit_Fingerprint_Lib, in der zip die ich für meinen Sketch zur Verfügung gestellt habe, enthalten, da ich auch hier
für mich schon mit anderen Farben arbeite.

LG
Papa Romeo