panStamp support

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

Vorheriges Thema - Nächstes Thema

justme1968

ich hab nichts geändert. hmmm. jedenfalls nicht das ich wüsste.

gerade bei mir getestet und geht.

was für ein sketch ist auf dem panstamp drauf? das intervall wird nur automatisch gesetzt wenn pwrdownmode im device description file true ist.


wenn auch das von hand setzen nicht geht setz bitte mal global verbose auf 4 oder 5 und schick mir bitte das log. und ein list vom device und vom panstick.

gruss
  andre

edit: ich habe doch noch zwei dinge gefunden:
  - ich hatte einen fehler im suchen nach der nächsten freien adresse. es wurde immer F0 genommen.
    -> die addresse blieb FF wenn es schon ein anderes device mit F= gibt.

  - mir ist aufgefallen das es beim automatischen addresse und intervall ändern noch ein logisches problem gibt.
  ->   eventuell schlägt das bei langsamen systemem zu. da muss ich noch mal drüber nach denken.

beides sollte aber nicht das setzen des intervalls von hand verhindern
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Tobias

Hi Andre,
es ist der soilmoisture-sketch drauf, angepasst ist nur die 400ms für die Vegetronix-Sensoren. Siehe Anhang.
Ich habe auch im Sketch die Pins auf das Bild nach deiner Aussage gesetzt: 1: 4/5, 2: 7/6
Irgendie kommt aber zu wenig im Messergebnis heraus, nur so um die 0.1-0.5V, ich werde aber heute abend weiter testen.....
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

ob du den richtigen analog pin erwischt hast siehst du am aller besten wenn du das intervall auf 10 sekunden setzt und den pin an gnd oder vcc legst. natürlich ohne vegetronix sensor.

du kannst den analg pin auch mit A1 angeben. das ist vielleicht weniger verwirrend.

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

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

Tobias

Zitat von: justme1968 schrieb am Do, 08 August 2013 09:21ob du den richtigen analog pin erwischt hast siehst du am aller besten wenn du das intervall auf 10 sekunden setzt und den pin an gnd oder vcc legst. natürlich ohne vegetronix sensor.
Genau das hate ich auch vor ;) ;)
Zitatdu kannst den analg pin auch mit A1 angeben. das ist vielleicht weniger verwirrend.
Ohhh, gut zu wissen
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

ICh glaub ich weiß warum es mit den Vegetronix-Sensoren nicht funktioniert.
Ich habe mal direkt die D* Pins auf die A* Pins gelegt um die Spannung im HIGH zu messen.

Bei einer Batteriespannung von 1.59V:
HIGH-Pegel (zb. D7 an A4) ist 1.018
LowPegel (unconnected) ist 0.644
LowPegel (verbunden mit GND) ist 0.000

Da die Vegetronix-Sensoren erst ab 3.3V arbeiten ist klar das ich nur Müll messe :(
Ich war der Meinung das der StepUp-Regulator die 1.5V auf 3.3V hochtransformiert und diese Spannung auch im HIGH-Pegel anliegt???

Andre, was hast du bei deinem Test mit diesen Sensoren anders gemacht als ich jetzt?
Muss ich auf dem Board noch irgendeine Brücke/Jumper einlöten??

Edit: also irgendwie funzt ein "regSet 0A 012C" nicht... :( Der folgende Code zeigt das regSet mit anschließendem panstamp-reset
2013.08.08 18:54:56 5: Cmd: >set SWAP_03 regSet 0A 012C<
2013.08.08 18:54:56 5: Triggering SWAP_03 (3 changes)
2013.08.08 18:54:56 5: Notify loop for SWAP_03 set-regSet
2013.08.08 19:03:44 5: panStamp/RAW: /(ED30)0003000100030000000001000
2013.08.08 19:03:44 5: panStamp/RAW: (ED30)0003000100030000000001000/0000E
(EB32)0003000200030A0258
(ED31)0003000300030303

2013.08.08 19:03:44 5: panstamp: 00030001000300000000010000000E -83.5 48
2013.08.08 19:03:44 5: panstamp dispatch 00030001000300000000010000000E
2013.08.08 19:03:44 4: SWAP_03 -> broadcast (0,0-01): status SWAP_03 00:000000010000000E
2013.08.08 19:03:44 5: panstamp: 0003000200030A0258 -84.5 50
2013.08.08 19:03:44 5: panstamp dispatch 0003000200030A0258
2013.08.08 19:03:44 4: SWAP_03 -> broadcast (0,0-02): status SWAP_03 0A:0258
2013.08.08 19:03:44 5: panstamp: 0003000300030303 -83.5 49
2013.08.08 19:03:44 5: panstamp dispatch 0003000300030303
2013.08.08 19:03:44 4: SWAP_03 -> broadcast (0,0-03): status SWAP_03 03:03
2013.08.08 19:03:44 5: panstamp sending 03 000002030A012C
2013.08.08 19:03:44 5: SW: 03
Modem ready!
(EF31)00FF004F00FF0C00A300C8
(F031)00FF005000FF0B0596
(F02F)00FF005100FF0C00A800C8
(F030)00FF005200FF0B0559
(F02F)00FF005300FF0C00A200BF000002030A012C
2013.08.08 19:03:47 5: panStamp/RAW: /(F132)00
2013.08.08 19:03:47 5: panStamp/RAW: (F132)00/03000400
2013.08.08 19:03:47 5: panStamp/RAW: (F132)0003000400/030302
2013.08.08 19:03:47 5: panStamp/RAW: (F132)0003000400030302
/

2013.08.08 19:03:47 5: panstamp: 0003000400030302 -81.5 50
2013.08.08 19:03:47 5: panstamp dispatch 0003000400030302
2013.08.08 19:03:47 4: SWAP_03 -> broadcast (0,0-04): status SWAP_03 03:02
2013.08.08 19:03:47 5: panStamp/RAW: /(F130)000300
2013.08.08 19:03:47 5: panStamp/RAW: (F130)000300/0500030C
2013.08.08 19:03:47 5: panStamp/RAW: (F130)0003000500030C/03FA025
2013.08.08 19:03:47 5: panStamp/RAW: (F130)0003000500030C03FA025/2
(
2013.08.08 19:03:47 5: panstamp: 0003000500030C03FA0252 -81.5 48
2013.08.08 19:03:47 5: panstamp dispatch 0003000500030C03FA0252
2013.08.08 19:03:47 4: SWAP_03 -> broadcast (0,0-05): status SWAP_03 0C:03FA0252
2013.08.08 19:03:47 5: Triggering SWAP_03 (4 changes)
2013.08.08 19:03:47 5: Notify loop for SWAP_03 0C.0-Moisture_level_0: 03FA
2013.08.08 19:03:47 5: panStamp/RAW: (/F030)0003000600030B063A

2013.08.08 19:03:47 5: panstamp: 0003000600030B063A -82 48
2013.08.08 19:03:47 5: panstamp dispatch 0003000600030B063A
2013.08.08 19:03:47 4: SWAP_03 -> broadcast (0,0-06): status SWAP_03 0B:063A
2013.08.08 19:03:47 5: Triggering SWAP_03 (4 changes)
2013.08.08 19:03:47 5: Notify loop for SWAP_03 0B-Voltage: 063A

Hinterher steht immer noch der alte Wert: SWAP_0A-PeriodicTxInterval 0258. Scheint auch nicht nur ein Anzeigeproblem zu sein, denn bei einem "regSet 0A 000F", also ein 10sek Intervall, passiert nach 10sek nix sondern erst nach den 0258, also 10min.
Hoffe dir genug Infos gegeben zu haben...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

ich hatte es auf einem breadboard mit einer echten 3,3v versorgung getestet. aber der high pegel der digital pins ist auf jeden fall 3,3v oder ganz knapp darunter. egal ob der panstamp mit netzteil oder batterie läuft. sonst würde je keine externe beschaltung funktionieren.

wie hat du denn die 1.018v gemessen? wenn du den arduino selber zum messen nimmst musst du aufpassen welche interne refferenz verwendet wird. es muss z.b. im sketch angepasst werden ob er mit batterie oder netzteil läuft, sonst ist die voltage ausgabe falsch.

da stimmt noch was nicht. wenn du einen analog pin auf gnd legst solltest du auf jeden fall 0 messen.

kannst du mit einem echten multimeter messen ?

dein log file ist sehr komisch. es wird nichts bzw. etwas ganz falsches gesendet. das 'Modem ready!' gehört da nicht hin. das ist ein teil der initialisierung vom panstamp und sollte nur beim starten von fhem da stehen. auch die zeilen direkt danach sind sind nakte daten die der panstick eigentlich an fehm

das hinter SW: ist das was gesendet wird. wenn in der zeilge vorher 'panstamp sending 03 000002030A012C' steht muss in der zeile danach 'SW: 03000002030A012C' stehen und nicht nur 'SW: 03'.

ich habe gerade überhaupt keine idee was schief geht. ich versuche dir noch eine version mit mehr debug information zu bauen. ich weiss aber nicht ob ich das vor dem urlaub noch schaffe.

eine idee hab ich noch... vielleicht ist dein fhem rechner zu langsam in den drei sekunden die nachrichten zu empfangen und zu verarbeiten.

bitte mach mal die 3 sekunden schleife am sketch anfang länger. 10 oder 20 sekunden. dann müsste die zeit sogar reichen das set erst nach dem reset los zu senden.

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

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

Tobias

Ich habe mal folgendes im Sketch ergänzt:
Die LED blinkt jetzt 12x anstatt 6x. Dementsprechend länger dauert jetzt die Initsequenz
Die Messung dauert jetzt 10sek.

Folgendes kan ich mit meinem Multimeter messen:
Es liegt zwischen D7 und GND exakt 3.03V an
Der Sensor misst 2.59V welche an A4 anliegen.
A3 habe ich gegen GND gelegt

In FHEM steht folgendes:
Readings:
     2013-08-08 21:16:49   0B-Voltage      051C
     2013-08-08 21:16:49   0C.0-Moisture_level_0 031E
     2013-08-08 21:16:49   0C.1-Moisture_level_1 0001
     2013-08-08 20:54:32   0C0Dez          0.15
     2013-08-08 21:16:49   Level0          0.793
     2013-08-08 21:16:49   Level1          0.001
     2013-08-08 21:16:49   VWC_A           -1
     2013-08-08 07:27:21   state           set-regSet
     2013-08-08 21:16:49   voltage         1.308


Levelx ist nur die Umrechnung auf Dezimal analog Voltage. Laut FHEM liefert der Sensor also 0.798V. Real sind es aber 2.59V. Es wird also ein zu geringer Wert per 0C übermittelt??
A3 gegen GND wird korrekt mit 0V ausgewiesen.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

du darfst nicht die gleiche umrechnung verwenden.

der wert im voltage register ist schon aufbereitet. und das userReading passt genau dazu.

die moisture level werte sind die nakten a/d wandler werte mit einer auflösung von 10 bit. 0x400 entspricht 3.3v. deine 0x31e sind dann ziemlich genau 2.56v.

ich würde sagen es passt...

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

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

Tobias

Danke, das wars... bleibt nur noch das regSet Problem.
Ich teste heute abend mal mit einer alten SWAP-Modul Version sowie dem binouts/statusmon Sketch
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

hat die längere init sequenz nichts geändert?

vergiss nicht die kess zeit wieder auf 400ms zu stellen. die batterien werden es dir danken.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Tobias

nein, die Initzeit hat leider nichts geändert.
Ich werde das ganze heute mal mit dem binouts und einem alten SWAP-Modul testen. An irgendetwas muss es ja liegen.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

ich hab es gerade noch mal mit dem soilmoisture sketch probiert und ich kann das intervall einstellen und nach reset wird es gesendet und gesetzt.

bitte mach mal ein list auf das device das nicht geht und auch auf das panstick device. wenn du es noch mal probierst schau bitte ob wieder modem ready da steht.

bist du ganz sicher das du den richtigen sketch geflashed hast ?

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

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

Tobias

Hi Andre,
nachdem ich den originalen Sketch mit 400ms wieder drauf habe, also alles incl. Modem resettet habe, gehts. Frag mich nicht warum, aber es wurden alle Kommandos angenommen.
Muss jetzt beobachten ob der 12h sync auch funktioniert...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

das beruhigt mich einerseits sehr. anderseits würde ich schon gerne wissen was es war.

ich hoffe es geht jetzt erst mal. ich bin ab morgen drei wochen weg und schaue nur ab und zu hier rein.

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

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

Tobias

Hi Andre,
schönen Urlaub...
danach könntest du noch mal auf den 12h Sync schauen?? Scheint nicht zu funktionieren:
Bsp:SWAP_CMDsPending 1 CMDs_pending
   SWAP_MISSED 0
   SWAP_Sent_unconfirmed 16 Sent_unconfirmed
   SWAP_lastRcv 2013-08-11 11:50:46
   SWAP_lastSend 2013-08-09 19:28:43


Die Msg wartet hier schon 1.5Tage.

Der Code:
void loop()
{
  // Transmit sensor data
  getRegister(REGI_SENSOR)->getData();
  // Transmit power voltage
  getRegister(REGI_VOLTSUPPLY)->getData();

  //alle 12h ein sync
  static unsigned long last_sync_time = 0;
  if( isTime(last_sync_time, (unsigned long)1000*60*60*12) )
    syncState();

  // Sleep
  panstamp.goToSleep();
}


Edit1: kann ich eigentlich diesen DC-DC-Wandler (12V->3.3V) direkt an den Panstamp and Pin 14/15 anschließen??
http://www.reichelt.de/Wandler-Module-DC-DC/SIM1-1203-SIL4/3/index.html?;ACTION=3;LA=2;ARTICLE=57500;GROUPID=4956;artnr=SIM1-1203+SIL4
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter