panStamp support

Begonnen von justme1968, 24 April 2013, 21:35:25

Vorheriges Thema - Nächstes Thema

justme1968

du hast zwei device files für das gleiche physikalische device angelegt. für das zweite device brauchst du:mknod /dev/ttyUSB1 c 188 1

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

dennis87

Zitat von: justme1968 am 28 Juli 2015, 12:18:45
du hast zwei device files für das gleiche physikalische device angelegt. für das zweite device brauchst du:mknod /dev/ttyUSB1 c 188 1

gruss
  andre

Hallo Andre,
das funktioniert leider auch nicht, sobald ich den Cubie neu starte, ist das Device ttyUSB1 wieder verschwunden :(. Auch wenn ich den PanStamp in hem anlege funktioniert dies nur auf ttyUSB0, dann laufen darauf der RFXTRX und der Panstamp und zeigen beide opened, daher gibt es offensichtlich Probleme mit dem PanStamp. Was komisch ist, ist folgendes: Wenn ich den RFXTRX vom Cubie abziehe und den Panstamp dranstecke, ist dieser, wie auch immer ich ihn anlege (als ttyUSB0 oder ttyUSB1) nach dem Neustadt verschwunden.

justme1968

geh die probleme nacheinander an. device file anlegen. mit 1 im namen und im mknod.

im syslog oder mit dmesg schauen als welches device der panstick und der rfxtrx erkannt wird. es kann sein das der panstick 0 ist und der rfxtrx 1.

wenn du diese Schwierigkeiten vermeiden willst nimm die device bis id files. 

panstick in fhem anlegen. schauen ob alles geht.

dann schauen warum das automatisch anlegen nicht geht.

zur not steck das anlegen des device files einfach mit in das fhem start script.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

TeeVau

So, die Inhalte sind jetzt alle von der Diskussionsseite in richtige Artikel gewandert. Unter der Kategorie panStamp ist alles zusammengefasst: http://www.fhemwiki.de/wiki/Kategorie:PanStamp

Ich werde jetzt noch ein paar Schönheitskorrekturen vornehmen (Links innerhalb des Wiki und solche Kleinigkeiten) und sehe den Teil dann als fertig an. Ob wirklich alles 100%ig richtig ist, kann ich nicht durchgehend bewerten. :-)

Grüße, Tobias
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

dennis87

Ich bin nun bis Donnerstag Abend unterwegs, dann werde ich mich aber direkt wieder dran machen, vielen Dank schon mal dafür.

Damit ich dann gleich loslegen kann noch ein paar Fragen:

Du schreibst:
Zitatwenn du diese Schwierigkeiten vermeiden willst nimm die device bis id files.

verstehe ich das richtig, dass ich wie folgt vorgehen müsste:

1. Mittels "lsusb" den Bus und das Device raussuchen
2. Mittels "lsusb -vs "003:006" die Detailinformationen des Gerätes raussuchen (idVendor, idProduct, iserial)
3. Eine Datei, z.B. "/etc/udev/rules.d/20_FTDI.rules" erstellen und folgendes eintragen:
"SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="ABC12345", SYMLINK+="ttyUSB_RFXTRX"
"SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="ABC54321", SYMLINK+="ttyUSB_PanStick"
4. "/etc/init.d/udev restart" ausführen


und dann müsste ich ja noch den Panstamp mittels "define panStick panStamp /dev/ttyUSB_PanStickx@38400" anlegen.


Oder habe ich da was komplett verhauen, dann würde ich mich über einen schubs in die richtige Richtung freuen :)


Danke vielmals!

justme1968

in /dev/serial/by-id werden je nach linux und kernel version automatisch device namen erzeugt ohne das du etwas in den udev regeln machen musst.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

dennis87

danke, dann werde ich das am Donnerstag / Freitag mal testen  :)

PeterS

Hallo justme1968

Ich habe in der devices.xml einen mal einen Testeintrag für die ID20 ergänzt:
  <developer id="1" name="panStamp">
        ....
   <dev id="20" name="test" label="test"/>
  </developer>

parallel habe ich eine test.xml unter dem Verzeichnis panStamp angelegt und bekomme aber immer folgende Fehlermeldung:
could not read ./FHEM/lib/SWAP/panStamp/test.xml

Ein Reboot brachte auch nichts.
Wie kann man eigene Definitionen anlegen, ohne das die bei einem Update überschrieben werden ?

Gruss Peter

justme1968

dafür gibt es devices-local.xml

stimmen die berechtigungen?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

PeterS

Hallo justme1968

Die Datei  devices-local.xml exisitiert im gleichen Pfad wie die Datei  devices.xml und besitzt 777er Rechte.

Hast du noch eine Idee ?

Gruss Peter

dennis87

Ich habe das Ganze nun mal so probiert, wie du gesagt hast, aber irgendwas scheint bei mir nicht zu passen :(.

Wenn ich lsusb eingebe, sehe ich folgendes:
Bus 003 Device 002: ID 0835:8500 Action Star Enterprise Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 0835:8501 Action Star Enterprise Co., Ltd
Bus 003 Device 004: ID 1b1f:c00f 
Bus 003 Device 005: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
Bus 003 Device 006: ID 0835:8500 Action Star Enterprise Co., Ltd
Bus 003 Device 007: ID 0835:8502 Action Star Enterprise Co., Ltd
Bus 003 Device 011: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 010: ID 0403:0000 Future Technology Devices International, Ltd H4SMK 7 Port Hub


unter /dev/serial/by-id sehe ich jedoch nur folgendes:
usb-RFXCOM_RFXtrx433_A1YU8SIO-if00-port0


Auch beim dmesg sehe ich nur den RFXTRX.

Hast noch irgendwer eine Idee, ich verzweifele nämlich so langsam :(


dennis87

Kurzer Nachtrag:

Ich habe nun mal den RFXTRX rausgezogen und nur den Panstamp reingesteckt. Dann erscheint im dmesg folgdendes:

[   99.612423] usb 3-1.5.4: USB disconnect, device number 8
[  118.024418] usb 3-1.5.4: new full-speed USB device number 9 using sw-ehci


Es wird jedoch immer noch kein ttyUSB0 angezeigt, aber vielleicht kann damit ja jemand was anfangen

PeterS

Hallo justme1968

Muss die Datei devices-local.xml noch irgendwo einzutragen, oder wird diese automatisch berücksichtigt?

Gibt es irgendwo eine Doku ?

Gruss Peter

dennis87

So, nun melde ich mich auch noch mal zu Wort, nachdem der PanStamp nun erkannt wird  :), ich hoffe, dass ich das hier richtig poste.

Ich habe nun auf einen Panstamp, der auf einem BatteryBoard sitzt den Soilmoisture-Sketch gepackt, soweit wird auch alles erkannt.

Dann habe ich aus dem Wiki
Zitathttp://www.fhemwiki.de/wiki/SWAP
die Umrechnungsformel für die Bodenfeuchte genommen, jedoch bekomme ich nun, wenn ich den Vegetronix vh400 Sensor in ein Glas mit Wasser packe eine Feuchte von 50% angezeigt.
Kann es nun sein, dass beim anpassen des Pansticks doch etwas schief gegangen ist, oder ist das bei euch genauso, bzw. habt ihr ggf. eine andere Formel genommen?

PeterS

Die Datei devices-local.xml wird bei mir nicht berücksichtigt ?!

Deshalb habe ich die die temp.xml (Dev-ID:1; Prod-ID:4) wie folgt geändert, um meine Übertragungen zu testen:


<?xml version="1.0"?>
<device>
  <developer>panStamp</developer>
  <product>Own sensor</product>
  <pwrdownmode>true</pwrdownmode>
  <regular>
    <reg name="Voltage supply" id="11">
      <endpoint name="Voltage" type="num" dir="inp">
        <size>2</size>
        <units>
          <unit name="C" factor="0.001" offset="0"/>
        </units>
      </endpoint>
    </reg>
    <reg name="Temperature" id="12">
      <endpoint name="Temp" type="num" dir="inp">
        <size>2</size>
        <units>
          <unit name="C" factor="0.1" offset="-50"/>
          <unit name="F" factor="0.18" offset="-58"/>
          <unit name="K" factor="0.1" offset="223.15"/>
        </units>
      </endpoint>
    </reg>
    <reg name="Input" id="13">
      <endpoint name="Input" type="num" dir="inp">
        <size>1</size>
      </endpoint>
    </reg>
    <reg name="Output" id="14">
      <endpoint name="Output" type="num" dir="out">
        <size>1</size>
      </endpoint>
    </reg>
  </regular>
</device>


Leider wird der Output nicht in den readings angezeigt.
Der regListAll liefert folgendes Ergebnis:
reg.   | pos   | size   | dir.   | name
00   |    | 8   |    |ProductCode
  .1   |   0   |   4   |
  .2   |   4   |   4   |
01   |    |    |    |HardwareVersion
02   |    |    |    |FirmwareVersion
03   |    |    |    |SystemState
04   |    |    |    |FrequencyChannel
05   |    |    |    |SecurityOption
06   |    |    |    |SecurityPassword
07   |    |    |    |SecurityNonce
08   |    |    |    |NetworkID
09   |    | 1   | set   |DeviceAddress
0A   |    | 2   | set   |PeriodicTxInterval
0B   |    | 2   | get   |Voltage
0C   |    | 2   | get   |Temp
0D   |    | 1   | get   |Input
0E   |    | 1   | set   |Output

Was mache ich noch falsch ? Das device regdriver wurde analog definiert.

Gruss Peter