Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Hallo Erik zum getEdgeCount IO-16 V1 ich habe mal versucht mit short das ganze zu testen. Es kommt aber noch immer der Fehler. . Um sicher zu gehen, dass mir kein Config Fehler unterlaufen ist, habe ich noch mal unter Things geprüft, wie der korrekte Channel / Port lautet. Mit long hatte ich gestern anstelle von int getestet, das hat auch nicht geklappt. Zum Piezo Alarm, Ja das Item „PiezoAlarm“ nutze ich für den Alarm Channel. Kaum habe ich den SendCommand für das Einschalten des AlarmChannel entfernt und nur die SetAlarm Action in der Rule aufgerufen, hat es wunderbar geklappt. Ich dachte, ich muss den Alarm erst über den AlarmChannel „einschalten“, das war mein Fehler Super jetzt passt meine Rule Abschalten einer laufenden Alarm-Action geht einfach indem ich den AlarmChannel per SendCommand auf OFF setzte. Frage, kann ich eigentlich abfragen ob gerade eine „Alarm“-Action aktiv ist ? Oder muss ich mir selber über Variablen einen Merker setzten ? Viele Grüße Stefan
  3. Hallo omiT anbei mein Beispiel für den Motion Detector V2 Test Die LED habe ich über eine ITEM-Datei verlinkt, ich nutze diese in meiner Test-Rule für die Anzeige wann einen Bewegung erkannt wurde und diese wieder beendet wurde. Eintrag in "meiner" Item-Datei Zum spielen gibt es 2 Rules, eine die bei Bewegung „erkannt“ die LED erst mit 25% dann mit 100% Leistung einschaltet. Und eine die bei „Ende“ Bewegung die LED in umgekehrter Reihenfolge wieder auf Leistung 0% abschaltet. Der Thread::sleep(100) dient nur dazu, dass ich erkennen kann ob ein Unterschied zwischen 25% und 100% Leistung bei den LED zu erkennen ist. Der sleep ist hier etwas uncool, da Du Gefahr läufst, dass die erste Rule noch einen Sleep abwartet während bereits ein Trigger für die zweite Rule gestartet wurde. Aber zum testen geht´s 😉 Die Channel-Information für BrickletMotionDetectorV2MotionDetected / DetectorV2DetectionCycleEnded findest Du wie die channel‘s für die LED‘s unter paperui / Configuration / Things / MotionDetector Wenn Du die Items & Rule‘s entsprechende Deinen Channel-Thing-Daten anpasst, sollte es klappen. Grüsse Stefan
  4. Wir können das Problem hier nachstellen. Das scheint ein Bug in den Perl API bindings zu sein, sorry. Wie arbeiten an einer Lösung.
  5. Okay, mit einer neueren GCC Version können wir hier das Problem nachstellen. Es ist jetzt in der aktuellen GitHub Version behoben. https://github.com/Tinkerforge/master-brick/commit/80ded4b682ffb063fe88133eecf81c7770a9b6d2
  6. Hallo, ich habe hier ein kleines Problem mit dem Multitouch2.0-Bricklet. Ich möchte ein kleines Perlscript schreiben, dass mir die gewählte Elektrode vom Toucpad ermittelt und dann eine Aktion startet. Leider bekomme ich den Status nicht ermittelt. Ich habe beide Beispielscripte ausprobiert und bekomme keine Rückmeldung. Im Brickviewer wird mir die betätigte Elektrode angezeigt aber das state-Array bleibt leer. Wie kann ich der Sache auf den Grund gehen bzw. hat einer bereits auch das Problem gehabt und eine Lösung gefunden? Mit der Forumssuche habe ich jedenfalls nichts dazu gefunden. Gruß
  7. Wegen dem leeren { } - Ausdruck? Das scheint es nicht zu sein. Deinen Vorschlag habe ich jetzt zwar noch nicht getestet. Aber ich möchte ja eigentlich die Debugging-Meldungen aktivieren (das war der Grund für das Neukompilieren). Auch bei dem anderen if-Zweig kommt dann der Fehler. Die runde Klammer habe ich testweise noch eingefügt: error: expected expression before 'do' #define logf(str, ...) (do{ printf("<F> " str, ##__VA_ARGS__); }while(0))
  8. Moin, @StefanOHAN Hm, die fehlt. Mir ist dabei ein strukturelles Problem aufgefallen: Eigentlich sind nur die Teile der Java-API als Actions rausgeführt, die den Zustand des Bricks/Bricklets nicht ändern (mit Ausnahme einiger Bricklets wie z.b. der Remote-Switches, die nicht gut auf das Channel-Modell mappen), damit nicht die openHAB-Sicht des Bricklets und der tatsächliche Zustand auseinanderlaufen. Ich hatte jetzt den Gedanken, dass ich Actions, die den Zustand ändern erlauben kann, wenn ich im Generator hinterlege, welche Channels dann aktualisiert werden müssen. Da muss ich die API nochmal durchgehen, aber in dem Zuge wird dann die getEdgeCount-Action kommen. Das liegt daran, dass ich im Moment die Java-Bindings unverändert benutze. Die wiederum haben aus Legacy-Gründen bei älteren Bricklets andere Parameter- und Rückgabetypen. Die IO-16 gibt dir da einen Short (also eine 16-Bit-Zahl) zurück. Wenn du das so machst: val currentEdgeCountIO16V1 = ioActions16v1.brickletIO16GetEdgeCount(0, false).get("count") as short sollte es eigentlich funktionieren. Ist PiezoAlarm das Item mit dem du den Alarm-Channel benutzt? Dann passiert in deiner Rule folgendes: Du schickst das Command an den Alarm-Channel, das ist etwas langsam, weil die Nachricht einmal quer durch openHAB muss. Direkt danach startest du einen weiteren Alarm von Hand (die Action heißt zwar SetAlarm, aber konfiguriert nicht nur, sondern löst den Alarm auch direkt aus). Das geht schneller, weil die Action direkt an die Java-Bindings gekoppelt ist. Der zweite Alarm geht jetzt los, danach kommt das Command am Channel an, der intern auch SetAlarm benutzt und damit den Alarm aus deiner Rule überschreibt. Stimmt, da ist die Modellierung nicht gut: Das ist im Moment ein normaler Channel mit State pro Elektrode, mit dem Switch-Typ. Sinnvoller ist ein Trigger-Channel. Das konfiguriere ich mal um. @omiT Das sind die LEDs die auf dem Bricklet verbaut sind. Du kannst da Zahlen bis 255 reingeben, dann leuchten die LEDs entsprechend hell. Ich baue eventuell noch ein, dass auch PercentType-Kommandos akzeptiert werden, dann kann ich das in der PaperUI schöner anzeigen. Mal wieder danke für's Testen! Erik
  9. Teste mal bitte #define logf(str, ...) {} durch #define logf(str, ...) ((void)0) zu ersetzen.
  10. Ok - mit der gesetzten Umgebungsvariable HTTPS_PROXY klappt es. Die Proxy-Einstellungen werden beim Start des Brick Viewer angezeigt und die Internetverbindung läuft! 🙂
  11. Yesterday
  12. Hallo zusammen, kann jemand die Nutzung des Motion Detector Bricklet 2.0 erklären? Ich nutze die Beta 16. In OH Control wird für Top Left, Top Right und Bottom Indicator immer 0 angezeigt. Muss das so sein? Wie nutzt ihr denn den Motion Detected Channel und Detection Cycle Ended als Trigger? Hat da jemand Beispiele wie man da Regeln aufbaut? Vielen Dank und Liebe Grüße 🙂 Timo
  13. Hallo Erik heute habe ich mal versucht alle meine angeschlossenen Bricklets mit dem B16-Binding zu testen (aber nicht alle möglichen Actions). Folgendes ist mir dabei aufgefallen. >>„Industrial Digital In 4 Bricklet 2.0“ Frage: Kann es sein, dass Du keine Action für „getEdgeCount(int channel, boolean resetCounter)“ mehr vorgesehen hast ? Bei den IO-16-V1 / IO-16-V2 / IO-4-V2 & „Industrial Digital In 4 V2“ hatte der mit dem EdgeCount verlinkte Number-Item immer den Werte 0 Ich vermute es ist noch das Problem das Du in Deinem Post vom 28.10.2019 beschrieben hast, oder ? Die Action getEdgeCount funktionierte für das IO-4 V2 und das IO-16-V2 (es wurde ein Wert ausgegeben), für das IO-16 V1 hingegen nicht. Basis der Rule war ein Vorschlag den Du am 15.11.2019 auf meine Frage zur getEdgeCount Action gemacht hast. Diesen habe ich entsprechend für die 3 verschieden IO-Bricklets angepasst Hier das Beispiel für das IO-16-V1 Ich bekomme (nur) für das IO-16 V1 folgende Fehlermeldung im Log Technische Daten zu meinem IO-16-V1 Zum den Action (Alarm) des Piezo Speaker V2 hätte ich eine Frage Die Grundkonfiguration für den Beep und den Alarm sind doch unabhängig von Action‘s „brickletPiezoSpeakerV2SetBeep“ und brickletPiezoSpeakerV2SetAlarm, oder ? Ich habe mit dem „brickletPiezoSpeakerV2SetAlarm“ in den Rules ein Problem. Aber komischerweise nur mit dem Alarm nicht mit dem Beep. Wenn ich in einer Rule über brickletPiezoSpeakerV2SetAlarm versuche den Alarm zu verändern, ändert sich nur kurz die „Startfrequenz“ auf dem Wert den ich mit der Action übergebe, aber nach ca 0,1-0,2 Sekunden kommt der Alarm so wie er über der Thing „Configure channel“ voreingestellt ist. Ich hätte einen Alarm mit 1000Hz Startfrequenz, der jede Sekunde in 100 Hz Schritten bis 2500 Hz ansteigt und dies 10 Sekunden lang andauert. Es kommt aber nur ein kurzer 1000 Hz Ton dann fällt er wieder auf die Channel-Konfiguration zurück (Startfrequenz = 200Hz, Endfrequenz = 1000Hz, StepSize = 100 , StepDelay = 100 , DefaultVolumen = 1 , Duration = 5000) Wo liegt der Fehler in meiner Rule ? Einen Frage zu den Channel des MultiTouch V2 Generell funktionieren bei mir die mit ITEM-Verlinken Channel, diese kann ich auch problemlos in Rules verwenden. Kann es sein, dass die Channel nicht direkt in einer Rule als Trigger genutzt werden können ? Ich sehe auch im Log keine Meldung wenn ich eine der Tasten berühre (ich nutze Eurer 3x4 Tastenfeld). Ich habe in der Rule Channel verwendet die mit einem Item verlinkt waren und Channel die nicht mit einem Item verlinkt waren. Was ich auch echt gut finde ist die Firmware/Update und HW Info die das neue Binding bereitstellt. Viele Grüße Stefan Anbei meine Testliste Binding Version B16 Typ Item-Channel-Verlinkung Item in Rule Channel in Rule Action in Rule E-Paper296x128 ok nicht getestet nicht getestet FillDisplay / DrawText Multitouch V2 ok ok keine Funktion nicht getestet Rotary Poti V2 ok ok nicht getestet nicht getestet Rotary Encoder V2 ok ok nicht getestet nicht getestet Humidity Bricklet V2 ok ok nicht getestet nicht getestet Outdoor Weather Bricklet ok (mit 2 x TH6148) ok nicht getestet nicht getestet Motion Detector V2 ok ok ok nicht getestet LCD 128x64 ok ok ok verschiedene LCD 20x4 ok ok ok brickletLCD20x4ClearDisplay Dual Relay V2 ok ok nicht getestet nicht getestet Industrial QuadRelay V2 ok ok nicht getestet nicht getestet Industrial Digital In4 V2 ok ok nicht getestet kein getEdgeCount ? IO-16 V1 ok ok nicht getestet Problem mit getEdgeCount IO-16 V2 ok ok nicht getestet getEdgeCount IO-4 V2 ok ok nicht getestet getEdgeCount Piezo Speaker V2 ok ok nicht getestet Problem PiezoSpeakerV2SetAlarm
  14. Sorry, das hatte ich übersehen. Du kannst die Repeats mit der brickletRemoteSwitchSetRepeats Action einstellen.
  15. Gibt es zu dem Thema Repeats eine Lösung?
  16. Last week
  17. Ich habe innerhalb einer VM (Debian 10) die Build-Umgebung aufgesetzt. Das Skript ist hierbei nicht unmittelbar durchgelaufen, da ein paar Pakete durch aktuellere (mit neuem Namen) ersetzt werden mussten... Ich habe jetzt eine Lösung gefunden: Der Fehler wurde ausschließlich bei logf(...) gemeldet - nicht bei den anderen #defines. Daraus würde ich schließen, dass der Compiler "logf" wohl als "Logarithmus mit Wertebereich double" interpretiert. Denn es funktioniert nun, wenn ich einfach alle "logf(" beispielsweise durch "logfatal(" ersetze.
  18. Als ich gelesen habe "bitte noch mal neu verlinken" war meiner erster Gedanke "bitte nicht schon wieder". Muss aber sagen, das was Du da gemacht hast lohnt sicht. Allein das man die Wetterstation mal eben neu verlinken kann über Up/Down ist das schon wert. Von Bricklets und Bricks munter durcheinander tauschen und dann nur mal eben wieder die zugehörige Bridge zu ändern mal gar nicht zu reden. Astrein! 😁
  19. Dann leg mal bitte die Umgebungsvariable HTTPS_PROXY mit dem Wert www.example.com:3128 (natürlich angepasst auf deinen Proxy) an. Wenn du Brick Viewer startest sollte er dir das als Proxy Einstellung anzeigen.
  20. Ich kann das Problem hier unter Linux mit Docker und dem aktuellen GitHub Stand der Master Brick Firmware nicht nachstellen. Hast du dir mit build_environment_setup.sh unter Linux oder in einer VM die Build Umgebung ausgesetzt, oder nutzt du das Docker Image?
  21. Unfortunately. this ist not true. The CMP11 pyranometer outputs a 0 to 20 mV signal, this cannot be measured with a PTC Bricklet 2.0. The PTC Bricklet 2.0 is designed to measure the resistance of a PTC sensor. Also there is no Bricklet that can measure such small voltages accurately enough for this use case. There is the SMP series of pyranometers that output a 4 to 20 mA signal, that can be measured using an Industrial Dual 0-20mA Bricklet 2.0: https://www.rg-messtechnik.de/smp-pyranometer.php
  22. Ich habe eine Build-Umgebung entsprechend dem Tinkerforge-Tutorial aufgesetzt. Das Kompilieren von Bricklets funktioniert bereits. Jetzt habe ich versucht, die Master Brick Firmware zu kompilieren. Dabei erhalte ich folgende Fehlermeldung: In file included from ......./src/extensions/wifi/wifi_data.c:31:0: ......./src/logging/logging.h:118:25: error: expected identifier or '(' before '{' token #define logf(str, ...) {} ^ Der Fehler ist vermutlich nicht in logging.h selbst zu suchen? Er wird wahrscheinlich durch ein Problem an anderer Stelle verursacht?
  23. [SOLVED] Rebooted the Raspberry Pi and the MQTT Bindings are working ok. Tested from the CLI and also using Node-RED flow. Thanks for help anyhow.
  24. Please find the output of running the bindings with parameter --debug. Changed the period to 5000. 2020-01-24 10:10:29,786 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m582), 'b'tinnse/air_quality_bricklet/Jvj/get_all_values_callback_configuration'', ... (46 bytes) 2020-01-24 10:10:48,678 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m586), 'b'tinkerforge/callback/air_quality_bricklet/Jvj/all_values'', ... (109 bytes) 2020-01-24 10:10:53,637 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m587), 'b'tinkerforge/callback/air_quality_bricklet/Jvj/all_values'', ... (109 bytes) 2020-01-24 10:10:58,600 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m588), 'b'tinkerforge/callback/air_quality_bricklet/Jvj/all_values'', ... (109 bytes) 2020-01-24 10:11:03,561 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m589), 'b'tinkerforge/callback/air_quality_bricklet/Jvj/all_values'', ... (109 bytes) 2020-01-24 10:11:08,513 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m590), 'b'tinkerforge/callback/air_quality_bricklet/Jvj/all_values'', ... (109 bytes) 2020-01-24 10:11:13,478 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m591), 'b'tinkerforge/callback/air_quality_bricklet/Jvj/all_values'', ... (109 bytes)
  25. The configuration seems to be correct. You could try the following: Run the bindings with --debug Read back the callback configuration with mosquitto_pub -t tinkerforge/request/air_quality_bricklet/Jvj/get_all_values_callback_configuration -m '' after you've set it. Also the period is in milliseconds, so 10 should work, but will flood you with data that will be very often identical.
  26. Das sollte kein Problem sein, die ThingUID des Brick Daemons habe ich nicht verändert. Da gibt es leider kein Callback für, also wird die Liste im Moment nur aktualisiert, wenn openHAB danach ist, oder du händisch ein Refresh-Command schickst. Auf der TODO-Liste steht noch das allgemein über den Scheduler von openHAB zu lösen, das Problem haben ja einige Bricklets.
  27. Hallo Erik kurze Rückmeldung zum neuen B16 Binding Gestern abend habe ich das Binding eingespielt, zuvor alle Things aus der Konfiguration entfernt und erneut hinzugefügt. Alle verlinkten Items und "Channel"-Aufrufen in Rules usw angepasst. Auf dem ersten Blick funktionieren alle Rules und alle (angepassten) verlinkten Items. Das Problem mit den "vergessenen" ID der Sensoren ist auch behoben (habe 3 x ,incl Spannung-Abschaltung, rebootet). Zusätzlich habe ich einen weiteren TH-6148-Sensor in die Konfiguration aufgenommen und verlinkt, hat wunderbar geklappt. Auch die Fehlermeldung (No value present) die ich in meinem letzten Post beschrieben habe ist nicht mehr aufgetaucht. Nachdem ich aktuell 2 Tinkerforge-Stack angeschlossen habe ( 1x WIFI-Extention , 1xUSB) , habe ich auch das Umstecken des Piezo-Speaker vom Masterbrick-USB-angeschlossen, zum Masterbrick-WIFI-Extention angeschlossen, getestet. Nachdem Boot nur die Konfiguration angepasst ("configuration/things/edit/tinkerforge:brickletpiezospeakerv2" über die Auswahl der "Bridge Selection") und der Speaker war wieder online ohne dass ich Verlinkungen der Items ändern musste (super Funktion). Zwei Fragen hätte ich noch 1) Bezüglich "Schema für ThingUID" : Ich habe die beiden Brick-Daemons (für WIFI & USB angeschlossene Master-Bricks) nicht "entfernt und neu hinzugefügt", nur die restlichen Tinkerforge-Things. Frage: könnte dies evtl später zu Problemen führen, bis jetzt funktioniert alles. 2) wie oft/wann wird denn der "Sensor/Station Identifiers" des OutDoor Weather aktualisiert ? Nachdem ich den zweiten TH-6148-Sensor aktiviert hatte, könnte ich zwar über den Brickviewer dessen ID lesen, und mit dieser dann den Sensor in die Konfiguration einbinden, jedoch zeigte mir "Sensor Identifiers" nur die ID des bereits aktiven an. Nach ca 10 min habe ich das System 1 x rebootet (incl Stromabschaltung), danach wurden beide ID angezeigt. Wie gesagt den zweiten Sensor konnte ich funktionsfähig einbinden obwohl dessen ID noch nicht im Sensor-Identifier angezeigt wurde. Deine Binding-Funktionen sind echt super, danke nochmal Am WE werde ich weiter Testen viele Grüsse Stefan
  28. Also beispielsweise in der Arduino IDE muss ich den Proxy auch manuell eintragen. Die automatische Erkennung klappt hier nicht. Andere Programme können Updates ohne manuelle Konfiguration ausführen (z.B. LTSpice XVII). In den Windows 10 Einstellungen ist die Manuelle Proxyeinrichtung zwar sichtbar (inkl. voreingetragener Proxyadresse) und ich kann "Proxyserver verwenden" von Aus auf Ein umstellen. Aber der "Speichern"-Button ist praktisch ohne Funktion. D.h. nach dem erneuten Öffnen des Menüs sind alle Einstellungen wieder zurückgesetzt (trotz Admin-Rechten)....
  1. Load more activity
×
×
  • Create New...