leone2805 wrote:
EasyIoT wrote: Installing modem is really hard work. Sometimes it's not only SW problem it's also HW problem. I shortcut fuse F3 (Raspberry Pi, B model Rev2) to supply enough current to modem.
Yes, ControlModule doesn't working. Replace EasyIoT.exe with this one and it should work.
You almost guessed SMS helper function. It's already implemented, try:SmsHelper.SendSms("+xxxxxxxxxxx","test sms");
Thanks,
now ControlModule is working again.
SmsHelper.SendSms is also working but when I receive the message it's prefixed by a string AT+CMGL="ALL"
So even if on the log I see the correct message stringthe SMS I receive is:2015-01-24T10:38:51.2697940+01:00 DEBUG EasyIoTSMSInterface Send SMS, phoneNo:+39xxxxxxxxxx, message:DimmerValue > 97AT+CMG="ALL" DimmerValue > 97
EasyIoT wrote: Hi, It was issue with thread locking. I've fixed that. Please download
iot-playground.com/swdownload/beta/EasyIoT.exe and
iot-playground.com/swdownload/beta/MySensorsDriver.dll
I notice this issues:
-be careful which characters are you sending. I have problem with °C
-after Raspberry Pi switch on modem doesn't always work. If I later disable and enable SMS interface works OK. I don't know if this is modem issue or EasyIoT issue.
Missing method SMSGateway.SMSService::SendSMSInternal(string,string) in assembly /home/pi/easyiot/SMSGateway.dll, referenced in assembly /home/pi/easyiot/EasyIoT.exe
2015-01-24T17:54:00.7856280+01:00 ERROR EasyIoTSMSInterface Error thread:Method not found: 'SMSGateway.SMSService.SendSMSInternal'., at SMSGateway.SMSService.workerThread () [0x00000] in <filename unknown>:0
2015-01-24T17:54:01.1756770+01:00 ERROR EasyIoTSMSInterface Internal error.
leone2805 wrote:
EasyIoT wrote: Hi, It was issue with thread locking. I've fixed that. Please download
iot-playground.com/swdownload/beta/EasyIoT.exe and
iot-playground.com/swdownload/beta/MySensorsDriver.dll
I notice this issues:
-be careful which characters are you sending. I have problem with °C
-after Raspberry Pi switch on modem doesn't always work. If I later disable and enable SMS interface works OK. I don't know if this is modem issue or EasyIoT issue.
Hi,
after downloading the files and replacing them I caught an exceptionSo I tried to download iot-playground.com/swdownload/beta/SMSGateway.dll and it worked!Missing method SMSGateway.SMSService::SendSMSInternal(string,string) in assembly /home/pi/easyiot/SMSGateway.dll, referenced in assembly /home/pi/easyiot/EasyIoT.exe 2015-01-24T17:54:00.7856280+01:00 ERROR EasyIoTSMSInterface Error thread:Method not found: 'SMSGateway.SMSService.SendSMSInternal'., at SMSGateway.SMSService.workerThread () [0x00000] in <filename unknown>:0 2015-01-24T17:54:01.1756770+01:00 ERROR EasyIoTSMSInterface Internal error.
Yes, I know the issue with some special character: with GSM Default Alphabet you can fit at most 160 chars into single SMS , but they're from limited set:
· all Latin small and large
· all digits
· some Greek
· some other national
· some symbols like @ ! " # & / ( ) % * + = - , . : ; < > ?
So no ° char is admitted
I'll continue testing and I'll keep you updated.
EasyIoT wrote:
There are more supported characters. See wiki . Since I don't know exactly which characters user can use I've added regex expression filter to filter allowed characters. Default filter allow most common characters, but it can be always changed in systemconfig.xml under <SMSCharRegex></SMSCharRegex> (it will be aromatically added).
Now you can have units for temperature in °C and in message will be visible only C.
I've also added 60s delay to start automation engine at EasyIoT server startup. After 60s all drivers and modem should be up and running and automation engine can start executing commands.
Updated files:
iot-playground.com/swdownload/beta/EasyIoT.exe and
iot-playground.com/swdownload/beta/MySensorsDriver.dll
isn't it?Updated files:
iot-playground.com/swdownload/beta/EasyIoT.exe and
iot-playground.com/swdownload/beta/SMSGateway.dll
<SMSCharRegex>[^A-Za-z0-9 \r\n@£$¥èéùìòÇØøÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ!"#$%&amp;'()*+,\-./:;&lt;=&gt;?¡ÄÖÑܧ¿äöñüà^{}\\\[~\]|€]</SMSCharRegex>
<SMSCharRegex>[^A-Za-z0-9 \r\n@£$¥èéùìòÇØøÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ!"#$%&'()*+,\-./:;<=>?¡ÄÖÑܧ¿äöñüà^{}\\\[~\]|€]</SMSCharRegex>
leone2805 wrote:
EasyIoT wrote:
There are more supported characters. See wiki . Since I don't know exactly which characters user can use I've added regex expression filter to filter allowed characters. Default filter allow most common characters, but it can be always changed in systemconfig.xml under <SMSCharRegex></SMSCharRegex> (it will be aromatically added).
Now you can have units for temperature in °C and in message will be visible only C.
I've also added 60s delay to start automation engine at EasyIoT server startup. After 60s all drivers and modem should be up and running and automation engine can start executing commands.
Updated files:
iot-playground.com/swdownload/beta/EasyIoT.exe and
iot-playground.com/swdownload/beta/MySensorsDriver.dll
Of course do you meanisn't it?Updated files:
iot-playground.com/swdownload/beta/EasyIoT.exe and
iot-playground.com/swdownload/beta/SMSGateway.dll
Ok , i tried and actually characters like ° aren't sent also if present in the SMS text string.
But I noticed that also some characters that should be allowed (like >,<,&) aren't sent.
Looking at systemconfig.xml I saw this line:As you can see the escaping of &,< and > isn't correct.<SMSCharRegex>[^A-Za-z0-9 \r\n@£$¥èéùìòÇØøÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ!"#$%&amp;'()*+,\-./:;&lt;=&gt;?¡ÄÖÑܧ¿äöñüà^{}\\\[~\]|€]</SMSCharRegex>
So I replaced with this:but the file systemconfig.xml was overwritten at server restart or after a configuration change and the bad SMSCharRegex was restored.<SMSCharRegex>[^A-Za-z0-9 \r\n@£$¥èéùìòÇØøÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ!"#$%&'()*+,\-./:;<=>?¡ÄÖÑܧ¿äöñüà^{}\\\[~\]|€]</SMSCharRegex>
Anyway, to test my change I set the systemconfig.xml with immutable attr (chattr +i) and after this I was able to send SMS with characters like <,>,& ...
It also would be great if S_DIMMER status (ON,OFF based on Sensor.DigitalValue) in Web UI were shown, for example like S_SWITCH where we have two distinct icons (socket_on.png and socket_off.png). Now we see only Sensor.DimmerLevel on Web UI and we don't know if the Dimmer is on or off.
Thanks
Leone