Seite 10 von 16

Re: Übersicht - "AskSinPP"

Verfasst: 10.04.2020, 18:39
von jp112sdl
emil70 hat geschrieben:
10.04.2020, 18:31
Verstehe ich das Richtig, das nun beim einschalten A0 und A1 gebrückt werden?
Nein, der Relaisausgang ist Pin 5
https://github.com/jp112sdl/Beispiel_As ... R1.ino#L33

Der hat im EIN-Zustand HIGH Pegel und im AUS-Zustand LOW Pegel.

Die Brücke zwischen A0 und A1 ist einzubauen, wenn der Relaisausgang invertiert werden soll (EIN = LOW, AUS = HIGH)

Re: Übersicht - "AskSinPP"

Verfasst: 10.04.2020, 20:05
von emil70
Danke für die Erklärung

Dann bringt mir das aber so nix. Bei dem alten Hörmanantrieb ( 20 Jahre) muss die 0 Volt vom Anschluss 20 an Anschluss 21 gebrückt werden.

Wenn ich an Pin 5 das Kabel von Anschluss 21 mache und an GND das Kabel von Anschluss 22 oder auch nur das Kabel von Anschluss 21 machen geht es nicht

Oder muss das anders verkabelt werden??

Re: Übersicht - "AskSinPP"

Verfasst: 10.04.2020, 20:44
von jp112sdl
emil70 hat geschrieben:
10.04.2020, 20:05
Wenn ich an Pin 5 das Kabel von Anschluss 21 mache und an GND das Kabel von Anschluss 22 oder auch nur das Kabel von Anschluss 21 machen geht es nicht
Dann kannst du nur hoffen, dass dein Arduino noch funktioniert.
Bei meinem Hörmann liegen am Impulseingang im Leerlauf 24V an

Du musst dann schon noch ein Relais anschließen.

Re: Übersicht - "AskSinPP"

Verfasst: 10.04.2020, 20:47
von Psi
Oder n MOSFET :-)
Ich hatte vor längerem mal ein Gespräch mit jemandem der n esp einsetzt. Ich versuche mal raus zu finden wer das war

Re: Übersicht - "AskSinPP"

Verfasst: 10.04.2020, 21:02
von jp112sdl
Dann wohl eher ein Optokoppler. Aber ich wollt es so einfach wie möglich halten :roll:

Re: Übersicht - "AskSinPP"

Verfasst: 10.04.2020, 21:11
von Psi
Optocoupler... Natürlich 😁 und nicht wirklich schwierig, gibt sogar ne Platine dazu... 👍🏼

https://github.com/psi-4ward/HM-LC-Dim1PWM-LinearPWM

Re: Übersicht - "AskSinPP"

Verfasst: 11.04.2020, 19:51
von emil70
Danke für die Hilfe und Info

Ein Relais wollte ich eigentlich vermeiden

Bedeutet aber auch, es gibt kein Sketch wo man ein Signal durchschleifen kann?

Re: Übersicht - "AskSinPP"

Verfasst: 11.04.2020, 20:11
von Psi
Was meint signal durchschleifen? Ein oprokoppler schaltung besteht aus 2 Bauteilen, das ist noch vertretbar :-)

Re: Übersicht - "AskSinPP"

Verfasst: 11.04.2020, 21:39
von jp112sdl
emil70 hat geschrieben:
11.04.2020, 19:51
kein Sketch wo man ein Signal durchschleifen kann?
Du vermischst gerade Hardware mit Software!
Ein Sketch kann nicht richten, was die Hardware nicht leistet

Re: Übersicht - "AskSinPP"

Verfasst: 21.06.2020, 10:00
von jp112sdl
Ich habe ein Skript erstellt, das mir alle meine selbst gebauten Geräte nach Raumname sortiert auflistet.
Nur um mal eine Übersicht zu bekommen.
Vielleicht ist es für den ein oder anderen auch interessant.

Das Skript basiert auf der Grundlage, dass ich bei der Seriennummernvergabe keine Schnittmenge mit den Originalgeräten habe.
So werden nur Geräte der CCU aufgelistet, deren Seriennummer
  • 10stellig ist (HmIP fliegt gleich raus)
  • an 2.+3. Stelle nicht EQ hat
  • an 2.+3. Stelle nicht TK hat (Telekom-Geräte)
  • an 2.+3. Stelle nicht AA hat (alte Wandtastermodelle)
  • nicht mit CUX beginnt (CUxD...)
  • nicht mit INT beginnt (Gruppen)
Für meinen Gerätepark passt das Ergebnis.
Optimierungen sind sehr willkommen... TCL ist nicht meine Lieblingssprache -.-

Code: Alles auswählen

string  ch             = "";
string  room           = "";
string  lastRoom       = "";
string  result         = "Raum\t\t\tSeriennum.\t[B] Gerätename (B = Batteriegerät)\n==============================================================\n";
integer hbCount        = 0;

object chans = dom.GetObject(ID_CHANNELS);
object rooms = dom.GetObject(ID_ROOMS);
rooms.SortByName();

foreach(room, rooms.EnumUsedIDs()) {
  foreach(ch, chans.EnumUsedIDs()) {
    object oCh = dom.GetObject(ch);
    object oDev = dom.GetObject(oCh.Device());
    string adr = oCh.Address();
    var devAddress = oDev.Address();
    if (
      (devAddress.Length() == 10)  &&
      (adr.Substr(1,2)    != "EQ") &&  
      (adr.Substr(1,2)    != "TK") &&  
      (adr.Substr(1,2)    != "AA") &&  
      (!adr.StartsWith("CUX"))     &&  
      (!adr.StartsWith("INT"))          
       ) {
      var chRoom = oCh.ChnRoom();
      var devName = oDev.Name();
      
      var roomName = dom.GetObject(room).Name();
      if ((chRoom == room) && (!result.Contains("\t"#devAddress#"\t"))) {
      
        string hasBattery = "[ ] ";
        if (dom.GetObject("BidCos-RF."#devAddress#":0.LOWBAT")) { hasBattery = "[X] ";}
        
        string spacer = "\t";
        if (roomName.Length() < 4)  {spacer = spacer # "\t";}
        if (roomName.Length() < 8)  {spacer = spacer # "\t";}
        if (roomName.Length() < 12) {spacer = spacer # "\t";}
        
        if (hbCount == 0) { lastRoom = room; }
        
        if (room != lastRoom) {
          lastRoom = room;
          result = result#"--------------------------------------------------------------\n";
        }

        result = result # roomName # spacer # devAddress # "\t" # hasBattery # devName # "\n";
        
        hbCount = hbCount + 1;
      }
    }
  }  
}
!dom.GetObject(ID_SYSTEM_VARIABLES).Get("HB_DeviceList").State(result);
WriteLine(result);                        
WriteLine("Anzahl Geräte: "#hbCount.ToString(0));
Bildschirmfoto 2020-06-21 um 09.57.37.png
EDIT: Das mit den Batteriegeräten stimmt nicht. Leider haben auch die originalen Netzgeräte eine LOWBAT Datenpunkt. :roll: