Jump to content

tatzemax

Members
  • Gesamte Inhalte

    71
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von tatzemax

  1. Wo machst du das Thread.Sleep denn?

     

    Ich mache das nach dem Verbindungsaufbau durch ipcon.Connect();

     

     

     

    Das habe ich ganz einfach gelöst.

    Ich habe einen Timer der bei einem EnumerateCallback gestartet wird.

    Dieser läuft als Singel Shot. Jedesmal wenn ein EnumerateCallback kommt, wird er wieder angeschubst. Das Timout ist so groß gewählt, das der Timer sein Callback erst auslösen kann wenn kein EnumerateCallback  mehr eintrifft. Dann wird die Sortierfunktion ausgelöst.

    Mit der Zeit musst du dann experimentieren. All zu groß muss sie aber nicht sein. Alles im Bereich von msec. ;)

     

    Das klingt nach eine Lösung mit der ich leben mag danke für eure Hilfe.

     

  2. Vielleicht stehe ich noch etwas auf dem Schlauch.

     

    Ich habe 3 Master

    Master[0] soll bei mir auf alles Ports IndustrialOut haben

    Master[1] & [2] bekommen IndustrialIN

     

    Ich möchte überprüfen das Master[0] auch wirklich die IndustrialOut's hat. Ich habe mir mitlerweile dafür eine Sperate funktion gebaut in der ich die Master UID mit der IndustrialOut.connectedUID vergleiche.

     

    Allerding funktioniert die Funktion nicht solllage wie alle Enumerate Callbacks ausgelöst nicht wurden.

     

    Dann anders Problem ich wollte die durchführung der Funktion per Thread.Sleep() verzögern. Dann werden aber leider die Callbacks nicht mehr angenommen.

     

  3. Ich habe damit vor kurzer Zeit in ähnlicher Variante getüftelt.

     

    Das EnumerateCB bracht mir damals die UID's der Bricklets in der Reihenfolge wie sie angeschlossen sind... Also zuerst A bis D...

    Ich Schätze das es sich auch so mit Bricks verhält.

    Aber es wird auch die Position mitgegeben die dann auswerten kann.

     

    Ich würde die Master in einem Array erstellen.

     

    private BrickMaster[] masters = new BrickMaster['AnzahlMaster'] ;
    
      switch (deviceIdentifier.ToString())
           {
              case "13":
                 switch (position)
                  {
                   case"0":
                   masters[0] = new BrickMaster(uid,ipcon);
                   break;
                   case"1":
                   masters[1] = new BrickMaster(uid,ipcon);
                   break;
             usw....
                  }
                 
                 break;
    
           }
    
    

  4. Hallo zusammen,

     

    Ich arbeite momentan an einem Projekt bei dem ich gerne aus meinem Programm heraus den Brickdeamon installieren möchte.

     

    Dazu lade ich aus dem Archiv die _latest.exe herunter

    Im Anschluss starte ich die Installation.

     

    Nachteil: für die Installation wird eine Benutzereingabe benötigt.

     

    Mein Wunsch wäre das man auf die Benutzereingabe verzichten könnte. In dem man die Installation’s  EXE wie hier mit den entsprechenden Parametern starten könnte.

     

    Wie kann man das Realisieren?

     

  5. sobald ich ein update auf dem Redbrick durchführe gibt es die Fehlermeldung, unschön wie kann ich das Problem beheben.

     

    tf@red-brick:~$ sudo apt-get upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    You might want to run 'apt-get -f install' to correct these.
    The following packages have unmet dependencies:
    libpam-systemd : Depends: systemd (= 215-17+deb8u6) but 215-17+deb8u3 is installed
    perl : Depends: perl-base (= 5.20.2-3+deb8u3) but 5.20.2-3+deb8u6 is installed
            Recommends: rename but it is not installed
    systemd : Depends: libsystemd0 (= 215-17+deb8u3) but 215-17+deb8u6 is installed
    E: Unmet dependencies. Try using -f.

  6. Hier habe ich einemal die Debugg infos:

     

    2015-04-17 17:28:20.354 [ERROR] [.t.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: kNw subId: relay1
    2015-04-17 17:28:20.884 [DEBUG] [.t.internal.TinkerforgeBinding] - received command ON for item DualRelayA1
    2015-04-17 17:28:20.885 [ERROR] [.t.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: kNw subId: relay1
    2015-04-17 17:28:21.375 [DEBUG] [.t.internal.TinkerforgeBinding] - received command OFF for item DualRelayA1
    2015-04-17 17:28:21.376 [ERROR] [.t.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: kNw subId: relay1

     

    Alle anderen Devices funktioniern auch nicht haben aber funktioniert als das Dualrelay noch nicht hinzugefügt war.

  7. openhab.cfg

    tinkerforge:hosts= 127.0.0.1
    
    tinkerforge:relay_A1.uid=kNw
    tinkerforge:relay_A1.type=dual_relay
    tinkerforge:relay_A1.subid=relay1
    
    tinkerforge:relay_A2.uid=kNw
    tinkerforge:relay_A2.type=dual_relay
    tinkerforge:relay_A2.subid=relay2
    
    tinkerforge:relay_B1.uid=kPw
    tinkerforge:relay_B1.type=dual_relay
    tinkerforge:relay_B1.subid=relay1
    
    tinkerforge:relay_B2.uid=kPw
    tinkerforge:relay_B2.type=dual_relay
    tinkerforge:relay_B2.subid=relay2
    
    tinkerforge:relay_C1.uid=kNt
    tinkerforge:relay_C1.type=dual_relay
    tinkerforge:relay_C1.subid=relay1
    
    tinkerforge:relay_C2.uid=kNt
    tinkerforge:relay_C2.type=dual_relay
    tinkerforge:relay_C2.subid=relay2
    
    tinkerforge:relay_D1.uid=kNz
    tinkerforge:relay_D1.type=dual_relay
    tinkerforge:relay_D1.subid=relay1
    
    tinkerforge:relay_D2.uid=kNz
    tinkerforge:relay_D2.type=dual_relay
    tinkerforge:relay_D2.subid=relay2
    
    tinkerforge:barometer_balcony.uid=q9E
    tinkerforge:barometer_balcony.type=bricklet_temperature
    tinkerforge:barometer_balcony.callbackPeriod=10000
    tinkerforge:barometer_balcony.threshold=1000

     

     

    default.items

    Group All
    Group EG (All)
    
    
    Group EG_Technik "Technik" <settings> (EG)
    
    
    Switch HeizA1_EG_Technik "Heizung1" <heating> (EG_Technik){ tinkerforge="name=relay_A1" }
    Switch HeizA2_EG_Technik "Heizung2" <heating> (EG_Technik){ tinkerforge="name=relay_A2" }
    Switch HeizB1_EG_Technik "Heizung3" <heating> (EG_Technik){ tinkerforge="uid=kPw, subid=relay1" }
    Switch HeizB2_EG_Technik "Heizung4" <heating> (EG_Technik){ tinkerforge="uid=kPw, subid=relay2" }
    Switch HeizC1_EG_Technik "Heizung5" <heating> (EG_Technik){ tinkerforge="uid=kNt, subid=relay1" }
    Switch HeizC2_EG_Technik "Heizung6" <heating> (EG_Technik){ tinkerforge="uid=kNt, subid=relay2" }
    Switch HeizD1_EG_Technik "Heizung7" <heating> (EG_Technik){ tinkerforge="uid=kNz, subid=relay1" }
    Switch HeizD2_EG_Technik "Heizung8" <heating> (EG_Technik){ tinkerforge="uid=kNz, subid=relay2" }
    
    
    Number Temperature                 "Temperature [%.1f Cel]" (EG_Technik) { tinkerforge="uid=q9E" }

     

    default.sitemap

    sitemap Ferienhaus label="Ferienhaus"
    {
    Frame {
         Group item=EG label="Erdgeschoss" icon="groundfloor"	
    {
    Group item=EG_Technik label="Technikraum"
      {
    	Switch item=HeizA1_EG_Technik
    	Switch item=HeizA2_EG_Technik	
    	Switch item=HeizB1_EG_Technik 	
    	Switch item=HeizB2_EG_Technik
    
      }
    }	
    }
    }
    
    

     

  8. Angeleget Items:

     

     

    Switch HeizA1_EG_Technik "Heizung1" <heating> (EG_Technik){ tinkerforge="name=relay_A1" }

    Switch HeizA2_EG_Technik "Heizung2" <heating> (EG_Technik){ tinkerforge="name=relay_A2" }

    Switch HeizB1_EG_Technik "Heizung3" <heating> (EG_Technik){ tinkerforge="uid=kPw, subid=relay1" }

    Switch HeizB2_EG_Technik "Heizung4" <heating> (EG_Technik){ tinkerforge="uid=kPw, subid=relay2" }

    Switch HeizC1_EG_Technik "Heizung5" <heating> (EG_Technik){ tinkerforge="uid=kNt, subid=relay1" }

    Switch HeizC2_EG_Technik "Heizung6" <heating> (EG_Technik){ tinkerforge="uid=kNt, subid=relay2" }

    Switch HeizD1_EG_Technik "Heizung7" <heating> (EG_Technik){ tinkerforge="uid=kNz, subid=relay1" }

    Switch HeizD2_EG_Technik "Heizung8" <heating> (EG_Technik){ tinkerforge="uid=kNz, subid=relay2" }

     

    Wenn ich eine die Relais über den Namen in der cfg anspreche wie in den ersten beiden Zeilen, schreibt er mir das nicht in dei Openhab.log

     

    2015-04-16 17:33:13.542 [iNFO ] [.o.core.internal.CoreActivator] - openHAB runtime has been started (v1.6.2).
    2015-04-16 17:33:36.604 [iNFO ] [o.o.i.s.i.DiscoveryServiceImpl] - mDNS service has been started
    2015-04-16 17:33:37.062 [iNFO ] [o.o.i.s.i.DiscoveryServiceImpl] - Service Discovery initialization completed.
    2015-04-16 17:33:52.149 [iNFO ] [c.internal.ModelRepositoryImpl] - Loading model 'default.items'
    2015-04-16 17:34:10.106 [iNFO ] [c.internal.ModelRepositoryImpl] - Loading model 'default.sitemap'
    2015-04-16 17:34:18.729 [iNFO ] [penhab.io.rest.RESTApplication] - Started REST API at /rest
    2015-04-16 17:34:24.819 [iNFO ] [.o.u.w.i.servlet.WebAppServlet] - Started Classic UI at /openhab.app
    2015-04-16 17:37:02.038 [iNFO ] [c.internal.ModelRepositoryImpl] - Refreshing model 'default.sitemap'
    2015-04-16 17:37:04.645 [ERROR] [.t.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: kPw subId: relay1
    2015-04-16 17:37:05.459 [ERROR] [.t.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: kPw subId: relay1
    

  9. Hallo,

    ich habe ein Redbick mit dem aktuellen Image genommen und dort ein Openhab Konfiguration erstellt.

    Dort schalte ich 4 Dual Relais Bicklets über ein Switch item.

    Beim Ersten anlegen der Konfiguration hat diesen Wunderbar geklappt. Einen Tag später selbe Konfiguration nach einem neustart funktioniert dieses nicht mehr.

    Noch nicht mal von einem Temperatur Bricklet werden die Werte angezeigt.

     

    Am BrickViewer habe ich die Hardware getestet, funktioniert Einwand frei. Ansonnten habe ich keine Einstellungen am Brick geändert.

     

    Ich habe keine Ahnung mehr, wie ich das wieder ans Laufen bekomme.

     

    Ich habe noch Pingtest zum Localhost in der Konsole überprüft diese haben funktioniert. (gab es ja auch schon Einträge zu im Forum)

  10. Nach einiger Sucherei habe ich Festgestellt das man den REDBrick nur duch das aufspielen des neuen Image update/upgrade kann. Das ist schade gut wäre wenn der Redbrick seine Versions updates so bekommen kann wie der Rest des Betriebsystem über apt-get update oder vielleicht auch einen Button im Brick Viewer.

     

    Denn wie mache ich das wenn ich keine Möglichkeit vor Ort habe wie mann die SD Karte an den PC schließen kann.

  11. Hallo!

     

    Da ich gerade vor dem gleichen "Problem" stehe, wollte ich mal wissen, ob es ohne Probleme funktioniert, also den Raspi über den Step-Down per GPIO mit Strom zu versorgen.

     

    Wenn nicht, welche Käbelchen muss ich vom USB-Kabel benutzen für die Stromversorgung?

     

     

     

    PS: ich hab gesehen dass der Thread schon etwas älter ist, wollte aber keinen neuen erstellen, da es ja das gleiche Thema ist.

     

    Ich habe den Raspberry so wie oben beschrieben am Laufen gehabt, habe jetzt aber aus Platztechnischen Gründen auf ein RED umgebaut.

  12. Wenn man mal mit ein Wärmebildkamera gearbeitet hat die auf der selben Basis funktioniert.

    Kann man feststellen das man bei glatten Flächen wie ein Spiegel wirken, sie zeigen das Temperaturbild von den Gegenständen die ihnen gegenüber liegen.

     

    Vielleicht hilft dir das Weiter.

×
×
  • Neu erstellen...