panStamp support

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

Vorheriges Thema - Nächstes Thema

Matthias Gehre

Hi,

hab eben ein bisschen rumprobieren müssen, bevor mir folgendes aufgefallen ist:
Alle eingehenden Pakete von Adresse 01 werden ignoriert, auch wenn man die Adresse des Panstamp in der fhem.cfg umstellt.
Siehe Zeile 927 in 34_SWAP.pm.

Der Check sollte wohl lieber gegen die Adresse des Pansticks checken?

justme1968

ja. das stimmt. das eigentliche problem ist das die trennung von panstamp und swap modul nicht ganz sauber möglich ist.
die adresse des panstamp wird auf modem ebene im pansamp modul vergeben. dsa swap modul weiss davon eigentlich nichts.

ich habe noch keine idee wie man das wirklich sauber lösen kann.

die zweite komplikation ensteht wenn man mehrere fhem systeme mit jeweils eigenem panstick betreibt. dann müssten in jedem fhem system die adressen aller pansticks bekannt gemacht werden.

zur zeit ist es das einfachste für den/die panstick die default adresse 01 zu verwenden. das funktioniert auch wenn man mehrere fhem systeme mit jeweils eigenem panstick hat.

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

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

locutus

#302
Hallo,
wie kann ich einen Colorpicker mit dem normalen rgbdriver Sketch verwenden? Reicht eine Änderung der SWAP ID in der product.h aus?

justme1968

der normale sketch und das generelle fhem modul verstehen nur die regSer und regGet kommandos. wenn du hier den colorpicker verwenden willst geht das nur per readingsProxy.

das einfachste ist es den sketch und das fhem modul für das rgb board zu verwenden. dann hast du neben dem colorpicker, einem farbigen state icon auch alle möglichen kommandos wie on, off, on-for-timer, dimup, ... und kannst konfigurieren wie das board nach dem hart oder soft einschalten reagieren soll.

mit fällt kein grund ein mit fhem den original sketch zu verwenden.

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

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

locutus

Trotz Modifikationen an den Libraries und als Windowsgeschädigter erhalte ich während der Kompilierung mit der Arduino IDE einige Fehlermeldungen. Das gehört aber in den anderen Forumsbeitrag.

justme1968

weiter oben im thread ist ein hex file von einer recht aktuellen version.

nimm erst mal die. ich hoffe das ich jetzt im herbst/winter dazu komme meine letzten änderungen auch offiziell frei zu geben. ich versuche dann auch wieder das kompilieren unter windows zum laufen zu bekommen.

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

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

Maiks

Ich kann es leider auch nicht unter windows kompilieren, habe alle Versionen ausprobiert :(

Könnte jemand das HEX file hoch laden, damit ich es erst mal probieren kann (original board)

Danke

Matthias Gehre

Ich mache hier noch mal Werbung für den Patch in http://forum.fhem.de/index.php/topic,30589.0.html
falls du nicht alles mitliest :-)

justme1968

hatte den patch schon gesehen :). sehr schön.

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

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

Maiks

Kann es sein, das mit der 1.5.8 Arduino das ganze nicht mehr Funktioniert, da sich die API geändert hat ?

Habe versucht einige Befehle Anzupassen, aber nicht alle neuen pendants gefunden :(

EEPROM als not declared meckert er auch noch an, allerdings scheint es wird eingebunden.

Arduino: 1.5.8 (Windows 8), Board: "panStamp AVR w/ atmega328p"

Verwende die Bibliothek swap im Ordner: C:\Program Files (x86)\Arduino\libraries\swap (legacy)

Verwende die Bibliothek EEPROM im Ordner: C:\Program Files (x86)\Arduino\hardware\panstamp\avr\libraries\EEPROM



C:\Program Files (x86)\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=158 -DARDUINO_PANSTAMP_AVR -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\cores\panstamp -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\variants\panstamp -IC:\Program Files (x86)\Arduino\libraries\swap -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\libraries\EEPROM C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\fade.cpp -o C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\fade.cpp.o

C:\Program Files (x86)\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=158 -DARDUINO_PANSTAMP_AVR -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\cores\panstamp -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\variants\panstamp -IC:\Program Files (x86)\Arduino\libraries\swap -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\libraries\EEPROM C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\ledChannel.cpp -o C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\ledChannel.cpp.o

C:\Program Files (x86)\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=158 -DARDUINO_PANSTAMP_AVR -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\cores\panstamp -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\variants\panstamp -IC:\Program Files (x86)\Arduino\libraries\swap -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\libraries\EEPROM C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\rgbled.cpp -o C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\rgbled.cpp.o

C:\Program Files (x86)\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=158 -DARDUINO_PANSTAMP_AVR -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\cores\panstamp -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\variants\panstamp -IC:\Program Files (x86)\Arduino\libraries\swap -IC:\Program Files (x86)\Arduino\hardware\panstamp\avr\libraries\EEPROM C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\sketch.cpp -o C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\sketch.cpp.o

sketch.ino: In function 'void getConfig()':
sketch.ino:99:47: error: 'EEPROM' was not declared in this scope
In file included from sketch.ino:90:0:
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:19:33: error: 'EEPROM_FIRST_CUSTOM' was not declared in this scope
#define EEPROM_POWER_ON_STATE   EEPROM_FIRST_CUSTOM
                                 ^
sketch.ino:99:59: note: in expansion of macro 'EEPROM_POWER_ON_STATE'
sketch.ino:111:27: error: 'EEPROM' was not declared in this scope
In file included from sketch.ino:90:0:
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:19:33: error: 'EEPROM_FIRST_CUSTOM' was not declared in this scope
#define EEPROM_POWER_ON_STATE   EEPROM_FIRST_CUSTOM
                                 ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:24:33: note: in expansion of macro 'EEPROM_POWER_ON_STATE'
#define EEPROM_CONFIG_REPEATER  EEPROM_POWER_ON_STATE+sizeof(powerOnState)
                                 ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:31:27: note: in expansion of macro 'EEPROM_CONFIG_REPEATER'
#define EEPROM_CONFIG_IR  EEPROM_CONFIG_REPEATER+1
                           ^
sketch.ino:111:39: note: in expansion of macro 'EEPROM_CONFIG_IR'
sketch.ino:115:30: error: 'EEPROM' was not declared in this scope
In file included from sketch.ino:90:0:
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:19:33: error: 'EEPROM_FIRST_CUSTOM' was not declared in this scope
#define EEPROM_POWER_ON_STATE   EEPROM_FIRST_CUSTOM
                                 ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:24:33: note: in expansion of macro 'EEPROM_POWER_ON_STATE'
#define EEPROM_CONFIG_REPEATER  EEPROM_POWER_ON_STATE+sizeof(powerOnState)
                                 ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:31:27: note: in expansion of macro 'EEPROM_CONFIG_REPEATER'
#define EEPROM_CONFIG_IR  EEPROM_CONFIG_REPEATER+1
                           ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:38:29: note: in expansion of macro 'EEPROM_CONFIG_IR'
#define EEPROM_CONFIG_FADE  EEPROM_CONFIG_IR+sizeof(ir_cmds)
                             ^
sketch.ino:115:42: note: in expansion of macro 'EEPROM_CONFIG_FADE'
sketch.ino: In function 'void setup()':
sketch.ino:184:31: error: 'getRegister' was not declared in this scope
sketch.ino:186:12: error: 'class PANSTAMP' has no member named 'enterSystemState'
sketch.ino: In function 'void loop()':
sketch.ino:278:13: error: 'EEPROM' was not declared in this scope
In file included from sketch.ino:90:0:
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:19:33: error: 'EEPROM_FIRST_CUSTOM' was not declared in this scope
#define EEPROM_POWER_ON_STATE   EEPROM_FIRST_CUSTOM
                                 ^
sketch.ino:278:26: note: in expansion of macro 'EEPROM_POWER_ON_STATE'
sketch.ino:288:40: error: 'getRegister' was not declared in this scope
sketch.ino:477:35: error: 'getRegister' was not declared in this scope
sketch.ino:481:35: error: 'getRegister' was not declared in this scope
sketch.ino:528:36: error: 'class PANSTAMP' has no member named 'txInterval'
sketch.ino:528:66: error: 'class PANSTAMP' has no member named 'txInterval'
sketch.ino:532:33: error: 'getRegister' was not declared in this scope
regtable.ino: At global scope:
regtable.ino:103:55: error: 'updLedPower' was not declared in this scope
regtable.ino: In function 'const void updInternalTemp(byte)':
regtable.ino:180:24: error: 'class PANSTAMP' has no member named 'getInternalTemp'
In file included from sketch.ino:90:0:
regtable.ino: In function 'const void setPowerOnState(byte, byte*)':
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:19:33: error: 'EEPROM_FIRST_CUSTOM' was not declared in this scope
#define EEPROM_POWER_ON_STATE   EEPROM_FIRST_CUSTOM
                                 ^
regtable.ino:194:18: note: in expansion of macro 'EEPROM_POWER_ON_STATE'
regtable.ino: In function 'const void setCommand(byte, byte*)':
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:19:33: error: 'EEPROM_FIRST_CUSTOM' was not declared in this scope
#define EEPROM_POWER_ON_STATE   EEPROM_FIRST_CUSTOM
                                 ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:24:33: note: in expansion of macro 'EEPROM_POWER_ON_STATE'
#define EEPROM_CONFIG_REPEATER  EEPROM_POWER_ON_STATE+sizeof(powerOnState)
                                 ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:31:27: note: in expansion of macro 'EEPROM_CONFIG_REPEATER'
#define EEPROM_CONFIG_IR  EEPROM_CONFIG_REPEATER+1
                           ^
regtable.ino:276:30: note: in expansion of macro 'EEPROM_CONFIG_IR'
regtable.ino:319:33: error: 'getRegister' was not declared in this scope
In file included from sketch.ino:90:0:
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:19:33: error: 'EEPROM_FIRST_CUSTOM' was not declared in this scope
#define EEPROM_POWER_ON_STATE   EEPROM_FIRST_CUSTOM
                                 ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:24:33: note: in expansion of macro 'EEPROM_POWER_ON_STATE'
#define EEPROM_CONFIG_REPEATER  EEPROM_POWER_ON_STATE+sizeof(powerOnState)
                                 ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:31:27: note: in expansion of macro 'EEPROM_CONFIG_REPEATER'
#define EEPROM_CONFIG_IR  EEPROM_CONFIG_REPEATER+1
                           ^
C:\Users\Maik\AppData\Local\Temp\build2955246040970405916.tmp\eeprom.h:38:29: note: in expansion of macro 'EEPROM_CONFIG_IR'
#define EEPROM_CONFIG_FADE  EEPROM_CONFIG_IR+sizeof(ir_cmds)
                             ^
regtable.ino:381:22: note: in expansion of macro 'EEPROM_CONFIG_FADE'
Fehler beim Übersetzen

justme1968

das ganze ist noch nicht mit der neuen ide und der neuen panstamp lib getestet.

nimm bitte erst mal die alte ide und panstamp lib.

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

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

locutus

Ich versuche an meinem panStamp das Sendeintervall zu ändern:
set SWAP_F0 regSet 0A 0258
Leider ohne Erfolg:
"set SWAP_F0 regSet" needs two arguments
Hängt das eventuell mit dem letzten Update zusammen?
# $Id: 34_SWAP.pm 7554 2015-01-13 18:46:28Z justme1968 $
# $Id: 34_panStamp.pm 4756 2014-01-27 21:15:50Z justme1968 $

justme1968

die letzen änderungen waren alle nach der zeile die diese meldung ausgibt.

ich habe es gerade mit einer aktuell ausgeheckten version probiert und ich bekomme diese meldung nicht.

hast du die zeile genau so eingegeben ?

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

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

locutus

Eigenartig! Die direkte Eingabe hat funktioniert. Die Auswahl und Eingabe via Webinterface führt zu der o.g. Meldung.

justme1968

ich habe den auslöser des problems gefunden. siehe hier: http://forum.fhem.de/index.php/topic,31293.msg248786.html#msg248786.

bis zur lösung bitte das set auf kommandozeile verwenden.

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

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