Announcement

Collapse
No announcement yet.

mcsTemperature V5 - Browser based setup

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #46
    I was not able to find a way to read humidity in real time from the DS1923 such as I did with DS1921 for temperature. I could program it to execute a mission and then collect data from its memory, but it is too much of a departure from how all the other sensors are processed. If someone has a reference on how to read humidity from its register rather than from memory then I'm willing to try again.

    Comment


      #47
      New idea for hot water floor heating
      One "little" problem is 1 degree overheat after heating cycle.
      The floor
      New method:
      1. Room temp lower "virtual LL" heating 100%
      2. Room temp upper "Virtual LL", but lower "Virtual UL"-0.5 degree>>heating 7 mins, pause 3 min, etc (66%)
      3. Room temp upper "Virtual LL", and upper "Virtual UL"-0.5 degree>>heating 3 mins, pause 7 min, etc (33%)

      But.
      I write script. I can read 1-wire temp devicevalue only integer. correct?
      Create Doubleprecision temperature value from stripHTML(devicestring)?
      Mcs:
      Looking your StripHTML function, i think need one EndIf is line 145, the 140 line is close line 100 if-then-else.
      Attached Files

      Comment


        #48
        Why do you think the logic is mismatched? It looks reasonable to me. The inner-most if/else/endif removes the tagged segment depending upon if this segment is at the start, in the middle, or at the end of current tag pair. The outer ones protect from end-of-tag situations.

        Code:
        20        Text = Replace(Replace(strText, " ", "", 1, -1, vbTextCompare), "&nbsp", "", 1, -1, vbTextCompare)
        30        Do
        40            k = InStr(1, Text, "<")
        50            If k > 0 Then
        60                j = InStr(k + 1, Text, ">")
        70                If j > 0 Then
        80                    If k = 1 Then
        90                        Text = Mid(Text, j + 1)
        100                   ElseIf j < Len(Text) Then
        110                       Text = Left(Text, k - 1) & Mid(Text, j + 1)
        120                   Else
        130                       Text = Left(Text, k - 1)
        140                   End If
        150               Else
        160                   Exit Do
        170               End If
        180           Else
        190               Exit Do
        200           End If
        210       Loop
        Overshoot in a control system is typically caused by insufficient damping in the control. What is implemented is a simple proportioinal control. What you would like to move toward is a proportional-derivative control (PD) so you can anticipate when the heat can be turned off and on.

        The problem with PD is you need to have a way to generate the derivate or rate of change that is not too sensitive to sampling errors.

        I control a supplemental electric room heater with a PD control in my xapADIOcelot xAP node. While the scripting is not identical to hs scripting methods it does follow the same pattern and you may be able to get some ideas from it. The first segment is the script and the second segment is the logic within xapmcsADIOcelot. The 0.5 using in the call to ControlTemperate is a smoothing factor for the derivative to reduce sampling errors. A value close to 1 would be appropriate where the sampling rate is sufficiently high that a good derivative could be determinded. A value close to 0 make the PD control have not anticipation and is actually a Proportional control.

        Code:
                    iControlAction = xap.ControlTemperature(58, 60, sTemperature, 0.5)
                     
                    If iControlAction = -1 Then
                        'turn OFF if not already OFF
                        If sPower <> "OFF" Then
                            xap.Response "ElectricFireplace", 1
                            xap.WriteLog "ADI", "Turning Fireplace Off because room temperature of " & cstr(sTemperature) & " above temperature setpoint of 60"
                            xap.SaveVar "FireplaceOff", Now
        		    xap.SaveVar "LastControlAction", "OFF"
                        End If
                        Exit Sub
                    
                    'if dynamic temperature is between upper and lower limits then do nothing
                    ElseIf iControlAction = 0 Then
                        Exit Sub
                    End If
                    
                    If sPower <> "OFF" Then
                        Exit Sub
                    End If
                    
                    'turn on the electric fireplace
                    xap.Response "ElectricFireplace", 1
                    xap.WriteLog "ADI", "Turning Fireplace On because room temperature of " & cstr(sTemperature) & " is below temperature setpoint of 58"
                    xap.SaveVar "FireplaceOn", Now
        	    xap.SaveVar "LastControlAction", "ON"
                    Exit Sub
        Code:
        Public Function ControlTemperature(lowerLimit As Variant, upperLimit As Variant, currentTemperature As Variant, kDerivative As Variant)
                  Dim SetPoint As Single
                  Dim TemperatureError As Single
                  Dim ErrorRate As Single
                  Dim DynamicTemperature As Single
                  
        10        SetPoint = CSng(lowerLimit + upperLimit) / 2
        20        TemperatureError = currentTemperature - SetPoint
        30        ErrorRate = Derivative("MasterBedroomTemperatureError", TemperatureError)
        40        DynamicTemperature = TemperatureError + ErrorRate * CSng(kDerivative) + SetPoint
        50        If DynamicTemperature > CSng(upperLimit) Then
        60            ControlTemperature = -1 'turn off
        70        ElseIf DynamicTemperature < CSng(lowerLimit) Then
        80            ControlTemperature = 1
        90        Else
        100           ControlTemperature = 0
        110       End If
        End Function
        
        Public Function Derivative(sname As Variant, vValue As Variant)
        
                  Dim nHistory As Single
                  Dim nLast As Single
                  Dim oGlobal As GlobalVar
                  Dim oGlobalLast As GlobalVar
                  Dim sLast As String
                  Dim bNoData As Boolean
                  
        10        On Error Resume Next
        20        bNoData = False
        30        Set oGlobal = GlobalVariables(sname)
        40        If Err.Number <> 0 Then
        50            nHistory = 0
        60            Set oGlobal = New GlobalVar
        70            oGlobal.Data = 0
        80            GlobalVariables.Add oGlobal, sname
        90            bNoData = True
        100           Err.Clear
        110       Else
        120           nHistory = CSng(oGlobal.Data)
        130       End If
        
        140       sLast = sname & "_Derivative"
        150       Set oGlobalLast = GlobalVariables(sLast)
        160       If Err.Number <> 0 Then
        170           nLast = 0
        180           Set oGlobalLast = New GlobalVar
        190           oGlobal.Data = 0
        200           GlobalVariables.Add oGlobalLast, sLast
        210           bNoData = True
        220           Err.Clear
        230       Else
        240           nLast = CSng(oGlobalLast.Data)
        250       End If
        260       If bNoData Then
        270           nHistory = 0
        280       Else
        290           nHistory = nHistory * 0.8 + (CSng(vValue) - nLast) * 0.2
        300       End If
        310       Derivative = nHistory
        320       oGlobal.Data = nHistory
        330       oGlobalLast.Data = CSng(vValue)
                  
        End Function

        Comment


          #49
          Code:
              Do
          		k = InStr(1, Text, "<")
          		If k > 0 Then
          			j = InStr(k + 1, Text, ">")
                   	If j > 0 Then
          				If k = 1 Then
          					Text = Mid(Text, j + 1)
          				Else
          					If j < Len(Text) Then
          						Text = Left(Text, k - 1) & Mid(Text, j + 1)
          					Else
          						Text = Left(Text, k - 1)
          					End If
          				End if
          			Else
          				Exit Do
          			End If
          		Else
          			Exit Do
          		End If
          	Loop
          my school to teach this (anno 1980-1984)

          But 1st question: i reading only from striphtml(devicestring) >> "19.22" temperature format?
          Last edited by Droopyear; January 10, 2007, 01:31 PM.

          Comment


            #50
            I do not think I understand your question. The mcsTemperature DeviceString format is customized by user to include HTML or not, to show textual value or icon only, and to show a certain number of digits of precision. A stripped value in the device String of 19.22 looks reasonable. Are you indicating that you also get the less-than signs as part of the striphtml output?

            Comment


              #51
              q: 2 message prev

              I can read 1-wire temperature(ds1820) devicevalue only integer. correct?

              this script dont work
              Code:
              Sub Main
              'Def variable
              	Dim N_Lo_get, N_Up_get, N_Led, N_HVAC_tr			'thermostat variable
              	Dim N_Def_temp, N_Old_temp							'temperature variable
              	Dim N_DeltaT, N_Old_Dt								'thermostat/temperature deltaT
              	Dim N_PCoef, N_Old_PC	 							'heating/pause coefficients 0=nc, 1=1:1, 2=csokkentett
              	Dim N_Dir_Temp, N_Old_DirT							'temperature direction 0=nc, 1=up, 2=down
              	Dim N_pause, N_old_pause							' Futes szunet
              	Dim N_Heat, N_old_Heat								'Futes
              	Dim Str_Diag
              	Dim Str_PluginINI									'ini file
              'Def value
              	Str_PluginINI = "HVAC_N.ini"
              	N_pause=5
              	N_heat=5
              	' Nappali homersekletadatok************************************
              		N_Lo_get=int(hs.devicevalue ("\38"))			'mcstemp virtual thermostat lower level
              		N_Up_get=int(hs.devicevalue ("\39"))			'mcstemp virtual thermostat upper level
              		N_Led=int(hs.devicevalue ("T1"))				'mcstemp virtual thermostat led status 0=off,100=on
              		N_Def_temp=cdbl(hs.devicevalue ("[1"))		'mcstemp 1-wire tempmeter nappali
              	'hs.WriteLog "Temp Dir", N_Def_temp	
              		N_HVAC_tr=int(hs.devicevalue ("V3"))			'HVAC Foldszint padlofutes 0=off, 100=on
              	'N_Def_Temp proba************************************
              ...

              Comment


                #52
                hs.DeviceValue returns a 32 bit integer. I do not know why you cannot typecast it to Double. The previous line and next lines tries to convert a 32 bit integer into a 16 bit one. It will work as long as the number is small enough, but there is not need to use the int function on a long type data item.

                When you indicate the script does not work, what error or unexpected result do you see?

                Comment


                  #53
                  hs.DeviceValue returns a 32 bit integer
                  Code:
                  N_Def_temp=cdbl(StripHTML(hs.devicestring("[1")))		
                  N1=int(hs.devicevalue ("[1"))
                  N2=cdbl(hs.devicevalue ("[1"))
                  hs.WriteLog "Int devvalue", N1	
                  hs.WriteLog "Dbl devvalue", N2
                  hs.WriteLog "Str DevStr", N_Def_temp
                  N1: 20 wrong
                  N2: 20 wrong
                  N_def_temp: 20.25 Yessss

                  Comment


                    #54
                    Yes, the devicestring contains the precision you desire and the StripHTML function allows you to use it as a numeric. I'm still not understanding the original issue with StripHTML.

                    Comment


                      #55
                      Code:
                      Function StripHTML(strText)
                      	Dim i, j, k, l
                          Dim Text
                      	Text = Replace(Replace(strText, " ", "", 1, -1, vbTextCompare), "&nbsp", "", 1, -1, vbTextCompare)
                          Do
                      		k = InStr(1, Text, "<")
                      		If k > 0 Then
                      			j = InStr(k + 1, Text, ">")
                               	If j > 0 Then
                      				If k = 1 Then
                      					Text = Mid(Text, j + 1)
                      				Else
                      					If j < Len(Text) Then
                      						Text = Left(Text, k - 1) & Mid(Text, j + 1)
                      					Else
                      						Text = Left(Text, k - 1)
                      					End If
                      				End if
                      			Else
                      				Exit Do
                      			End If
                      		Else
                      			Exit Do
                      		End If
                      	Loop
                      	'remove degree and right
                          for i=1 to len(text)
                      		if asc(mid(text,i,1))=176 then l=i-1
                      	next
                      	StripHTML = left(Text,l)
                      End Function
                      My favorites teacher anno speak only if-then-else-endif, or if-then-else-if-endif-endif versions, i think maybe wrong if-then-elseif-endif

                      Comment


                        #56
                        The two are different, but in this case I believe the logic has the same result so it will not matter which is used. If there was something else that had to be done on the k<>1 independent of the value of j then your approach would be used. Since each of the three cases (1) "k=1", (2) "k<>1/ and j<Len(Text)" , (3) "k<>1 and j>=Len(Text)" has unique code to ge executed then the ElseIf can be used.

                        The "Select Case Case ... EndSelect" statement usually results in a table lookup which requires some overhead to setup. The "If Elseif Elseif ... Endif" is usually more efficient for multiple case branches when the number of cases is small since there is no setup overhead. It is simple in-line conditional code.

                        Comment


                          #57
                          thx. i to try memorize, but dont easy above 42 years ago

                          Comment


                            #58
                            problem with config mcs temp

                            after a have a crash of my hard disk on the server,
                            i had to reinstall homeseer and the mcs plugin.
                            i am now using for the first time the V5.0 version.
                            the problem is that i get the temp readings in my divice list.
                            but there are now readings saved in the database.

                            the startup log show no errors.

                            25-1-2007 23:28:16 - Startup -
                            25-1-2007 23:28:16 - Startup - ************************************************************ ********************
                            25-1-2007 23:28:16 - Startup - HomeSeer version 2.1.104.0 Starting Now (Release Build)
                            25-1-2007 23:28:16 - Startup - ************************************************************ ********************
                            25-1-2007 23:28:16 - Startup -
                            25-1-2007 23:28:16 - Startup - Loading Settings
                            25-1-2007 23:28:16 - Startup - Settings Loaded.
                            25-1-2007 23:28:16 - Startup - Loading configuration file ...
                            25-1-2007 23:28:17 - Info - Loading device types file...
                            25-1-2007 23:28:17 - Database - Opening up HomeSeer database C:\Program Files\HomeSeer 2\config\sample.mdb
                            25-1-2007 23:28:18 - Info - Loading Devices...
                            25-1-2007 23:28:18 - Load Config - 22 total devices loaded.
                            25-1-2007 23:28:18 - Load Config - Checking device type settings for all devices...
                            25-1-2007 23:28:18 - Load Config - Finished checking device type settings.
                            25-1-2007 23:28:18 - Load Config - Loading Events...
                            25-1-2007 23:28:18 - Load Config - 21 total events loaded.
                            25-1-2007 23:28:18 - Info - Loading TV Timers...
                            25-1-2007 23:28:18 - Database - HomeSeer configuration database C:\Program Files\HomeSeer 2\config\sample.mdb has been closed.
                            25-1-2007 23:28:19 - Info - HomeSeer version is: 2.1.104.0
                            25-1-2007 23:28:19 - Startup - Checking for available plug-ins
                            25-1-2007 23:28:20 - Info - Found plug-in: X10 CM11A/CM12U, version: 2.1.2363.27042
                            25-1-2007 23:28:20 - Info - Found plug-in: Insteon, version: 0.0.1.4
                            25-1-2007 23:28:20 - Info - Found plug-in: iTunes, version: 2.1.2319.32697
                            25-1-2007 23:28:20 - Info - Found plug-in: mcsTemperature, version: 5.2.0.16
                            25-1-2007 23:28:20 - Info - Found plug-in: SmartHome PowerLinc USB, version: 1.0.0.7
                            25-1-2007 23:28:21 - Info - Found plug-in: Media Player, version: 2.0.0.12
                            25-1-2007 23:28:21 - Startup - Restoring device status
                            25-1-2007 23:28:21 - Startup - Initializing Plug-Ins
                            25-1-2007 23:28:21 - Info - Initializing X10 Plug-in: X10 CM11A/CM12U On COM Port 1
                            25-1-2007 23:28:21 - Info - Initializing Plug-in: X10 CM11A/CM12U
                            25-1-2007 23:28:21 - Info - Initializing CM11A/12U on COM port 1
                            25-1-2007 23:28:21 - Info - Finished initializing X10 interface X10 CM11A/CM12U
                            25-1-2007 23:28:21 - Info - Finished initializing infrared interface
                            25-1-2007 23:28:22 - Info - Initializing Plug-in: mcsTemperature
                            25-1-2007 23:28:22 - mcsTemperature - Version 5.2.16 Registered with Homeseer
                            25-1-2007 23:28:22 - COM Plugin - Calling InitIO
                            25-1-2007 23:28:24 - mcsTemperature - Temp05/08 Comm Port 2 Opened
                            25-1-2007 23:28:24 - mcsTemperature - Temperature database Table C:\Program Files\HomeSeer 2\mcsTemperature.mdb\Temperature has no data stored
                            25-1-2007 23:28:24 - Info - Finished initializing plug-in mcsTemperature
                            25-1-2007 23:28:25 - Info - Local IP address is: 192.168.0.2/24
                            25-1-2007 23:28:25 - Info - Web Server started on port 81
                            25-1-2007 23:28:25 - Startup - Initializing text to speech
                            25-1-2007 23:28:26 - Info - Listening for remote speaker connections on port 8742
                            25-1-2007 23:28:26 - Startup - Start remoting
                            25-1-2007 23:28:26 - Startup - Start event processing
                            25-1-2007 23:28:26 - Info - This version of HomeSeer is registered.
                            25-1-2007 23:28:26 - Startup - Scripting is OK
                            25-1-2007 23:28:26 - Info - Finished initializing scripting
                            25-1-2007 23:28:26 - Startup - Starting scheduler
                            25-1-2007 23:28:26 - Startup - Start up complete.
                            25-1-2007 23:28:28 - Info - Web Server authorized local login successful from: 127.0.0.1 User: local
                            25-1-2007 23:28:32 - Info - Speaker client connected from: 192.168.0.10
                            25-1-2007 23:28:33 - Info - Speaker client connected from: 127.0.0.1
                            25-1-2007 23:28:36 - Info - Speaker host added, Name: LAPTOP3 IP address: 192.168.0.10
                            25-1-2007 23:28:42 - Info - Speaker host added, Name: iisserver IP address: 127.0.0.1
                            25-1-2007 23:29:57 - mcsTemperature - C:\Program Files\HomeSeer 2\mcsTemperature.mdb compaction complete
                            25-1-2007 23:31:31 - mcsTemperature - C:\Program Files\HomeSeer 2\mcsTemperature.mdb compaction complete

                            this is how i set up the divice
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=left colSpan=2>Data Collection Methods</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox CHECKED value=1 name=UseTemp05> Use Temp05/08 to collect data on comm port <INPUT size=2 value=2 name=Temp05CommPort> at update interval <INPUT size=2 value=2 name=T05SampleInterval> minutes
                            and use <INPUT type=checkbox CHECKED value=1 name=MetricInTemp> C for Temp input (unchecked for F)</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox value=1 name=UseDS9097> Use DS9490/DS9097U to collect data on comm port <INPUT size=8 name=DSPort> at update interval <INPUT size=2 value=1 name=DSSampleInterval> seconds
                            and poll switches at <INPUT size=5 name=DS9097SwitchInterval> milliseconds, <INPUT type=checkbox value=1 name=AlarmingSwitches> Poll only alarming switches</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox value=1 name=aUseQuasar> Use Quasar 3145 to collect data on comm port <INPUT size=2 name=QuasarPort> at update interval <INPUT size=2 value=1 name=QuasarSampleInterval> minutes</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox value=1 name=UseCSV> Use delimited file with file path <INPUT size=55 name=CSVFilename>
                            Read at interval <INPUT size=2 value=1 name=CSVSampleInterval> minutes, <INPUT type=checkbox value=1 name=CSVNoDelete> Do not delete after reading</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox value=1 name=UseCSV2> Use delimited file with file path <INPUT size=55 name=CSVFilename2>
                            Read at interval <INPUT size=2 value=5 name=CSVSampleInterval2> minutes, <INPUT type=checkbox value=1 name=CSVNoDelete2> Do not delete after reading</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox value=1 name=UseCSV3> Use delimited file with file path <INPUT size=55 name=CSVFilename3>
                            Read at interval <INPUT size=2 value=5 name=CSVSampleInterval3> minutes, <INPUT type=checkbox value=1 name=CSVNoDelete3> Do not delete after reading</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox CHECKED value=1 name=UseDatabase> Transfer mapped virtual devices to database at interval <INPUT size=2 value=2 name=DataCollectionInterval> Minutes</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox value=1 name=UseForecast> Collect forecast data at update interval of <INPUT size=5 value=30 name=ForecastUpdateInterval> Minutes with <INPUT size=2 value=0 name=ForecastRetry> 1-minute interval retries</TD></TR></TBODY></TABLE>
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=left colSpan=2>Sensor Display Metric/English Units</TD></TR><TR><TD class=TABLEROWODD align=left>Temperature Output: <INPUT type=radio value=0 name=MetricTemp> F <INPUT type=radio CHECKED value=1 name=MetricTemp> C</TD><TD class=TABLEROWODD align=left>Rainfall Output: <INPUT type=radio CHECKED value=0 name=MetricRain> in <INPUT type=radio value=1 name=MetricRain> mm</TD></TR><TR><TD class=TABLEROWODD align=left>Windspeed Output: <INPUT type=radio CHECKED value=0 name=MetricWind> mph <INPUT type=radio value=1 name=MetricWind> kph</TD><TD class=TABLEROWODD align=left>Barometric Pressure Output: <INPUT type=radio CHECKED value=0 name=MetricBaro> inHg <INPUT type=radio value=1 name=MetricBaro> mbar</TD></TR></TBODY></TABLE>
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=left colSpan=2>Handling of Bad Readings</TD></TR><TR><TD class=TABLEROWODD align=left><INPUT type=radio value=0 name=usePreviousOnBadReadings> Set bad reading to zero
                            <INPUT type=radio CHECKED value=1 name=usePreviousOnBadReadings> Set bad reading to previous value</TD><TD class=TABLEROWODD align=left><INPUT type=checkbox value=1 name=LimitHumidity> Limit humidity to 100%</TD></TR><TR><TD class=TABLEROWODD align=left><INPUT type=checkbox value=1 name=IncludeHumidity35> Consider 35% humidity as valid</TD><TD class=TABLEROWODD align=left><INPUT size=3 value=20 name=MinimumHumidity> Minimum reasonable humidity</TD></TR></TBODY></TABLE>
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=left colSpan=2>Other Settings</TD></TR><TR><TD class=TABLEROWODD align=left><INPUT type=checkbox value=1 name=EnableTriggers> Enable temperature control triggers</TD><TD class=TABLEROWODD align=left><INPUT type=radio CHECKED value=0 name=NormalPriority> Run at above normal priority
                            <INPUT type=radio value=1 name=NormalPriority> Run at normal priority</TD></TR><TR><TD class=TABLEROWODD align=left><INPUT type=checkbox CHECKED value=1 name=InMenu> Include in Homeseer menu</TD><TD class=TABLEROWODD align=left><INPUT size=2 value=, name=decimalCharacter> Character to replace decimal point</TD></TR></TBODY></TABLE>
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=middle colSpan=3>Debug Settings</TD></TR><TR><TD class=TABLEROWODD align=middle><INPUT type=checkbox value=1 name=DebugLog> General Debug Log</TD><TD class=TABLEROWODD align=middle><INPUT type=checkbox value=1 name=DebugLog2> Special Debug Log</TD><TD class=TABLEROWODD align=middle><INPUT type=checkbox value=1 name=ShowRawData> Show raw data on startup</TD></TR></TBODY></TABLE>
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=middle colSpan=2>Local Sensor Database Parameters</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2>Sensor Database <INPUT size=60 value=mcsTemperature.mdb name=Database></TD></TR><TR><TD class=TABLEROWODD align=left>Sensor Table <INPUT value=Temperature name=TemperatureTable></TD><TD class=TABLEROWODD align=left>Date Field Name <INPUT value=SampleDate name=DateFieldName></TD></TR><TR><TD class=TABLEROWODD align=left>Default Field Prefix <INPUT size=2 value=r name=TemperatureFieldPrefix></TD><TD class=TABLEROWODD align=left> </TD></TR></TBODY></TABLE>
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=middle colSpan=2>Forecast / Web Database Parameters</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2>Forecast Database <INPUT size=60 value=mcsTemperature.mdb name=DatabaseName></TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2>Forecast Table <INPUT value=Forecast name=ForecastTable></TD></TR></TBODY></TABLE>
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=middle colSpan=2>Database Provider</TD></TR><TR><TD class=TABLEROWODD align=left colSpan=2><INPUT type=checkbox value=1 name=UseSQL> Use SQL with Server <INPUT size=40 name=SQLSource></TD></TR></TBODY></TABLE>
                            <TABLE width=600 border=5 frame=box><TBODY><TR><TD class=TABLEHEADER align=middle>Manage Sensor Table in Database</TD></TR><TR><TD class=TABLEROWODD align=left>Start selectively removing records more than <INPUT size=4 value=30 name=WeedFirstDays> days old</TD></TR><TR><TD class=TABLEROWODD align=left>For records over <INPUT size=4 value=180 name=WeedLastDays> days old keep one record every <INPUT size=4 value=60 name=WeedMaxInterval> minutes</TD></TR><TR><TD class=TABLEROWODD align=left>Note that 10, 30, and 60 minute intervals with same first and last record range provide quick thinning</TD></TR><TR><TD class=TABLEROWODD align=middle><INPUT type=submit value="Selectively Remove Records from Sensor Database" name=SelectivelyRemoveRecords></TD></TR><TR><TD class=TABLEROWODD align=middle><INPUT type=submit value="Compact and Repair Sensor Database" name=CompactAndRepair></TD></TR><TR><TD class=TABLEROWODD align=middle><INPUT type=submit value="Delete and Recreate Sensor Table" name=DeleteAndRecreate></TD></TR><TR><TD class=TABLEROWODD align=middle><INPUT type=submit value="Restore Sensor Database from Backup" name=RestoreFromBackup></TD></TR><TR><TD class=TABLEROWODD align=middle><INPUT type=submit value="Delete Sensor Database Backup" name=DeleteBackup></TD></TR></TBODY></TABLE>are there any hint what i can try??
                            is there a way to do a new install of just the plugin??

                            Comment


                              #59
                              Are there any sensors selected on the Sensor browser page to be mapped into devices and saved to the database. If yes, then enable the general debug and let it run for 5 or so minutes and post the debug output.

                              Comment


                                #60
                                problem config mcs temp

                                now i get this output in the log.
                                it shows a error

                                <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0><TBODY><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:52:19 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>SendQueue=</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType0 align=left colSpan=3>X10 Received </TD><TD class=LOGEntry0 align=left colSpan=8>A5 (?) A Off</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >|THU 10<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature </TD><TD class=LOGEntry0 align=left colSpan=8>Temp05/08 Data: ></TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >:45:59|<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature </TD><TD class=LOGEntry0 align=left colSpan=8>Temp05/08 Data: THU 10:45:59</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >Reading <</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >Sensors.<</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >..<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >|Voltag<</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature </TD><TD class=LOGEntry1 align=left colSpan=8>Temp05/08 Data: Reading Sensors...</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >e #01[42<</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >0000004F<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >C77626]=<</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>SendQueue=</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:11 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >00.84V<</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:12 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = > 04.99V<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:12 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>SendQueue=</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:13 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >|Temp #<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:13 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature </TD><TD class=LOGEntry0 align=left colSpan=8>Temp05/08 Data: Voltage #01[420000004FC77626]=00.84V 04.99V</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:13 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>V5 Temp05 to HS Current R1=00,75, New=00,84</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:13 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >01[5600080092580910]=18.<</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:13 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >12C<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>SendQueue=</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >|Temp #<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature </TD><TD class=LOGEntry0 align=left colSpan=8>Temp05/08 Data: Temp #01[5600080092580910]=18.12C</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>Log Temperature Sensor Count=9, INSERT INTO Temperature(SampleDate,s420000004FC77626V,s420000004FC77626A ,s5600080092580910,s420000004FC77626,s720008009215A510,s7000 0800924CF810,sE00008009230FC10,sE70008009221DC10,s420000004F C77626A) SELECT #2007-01-26 0:53:14# AS QT,84 AS Q0,0 AS Q1,1818 AS Q2,1600 AS Q3,6 AS Q4,2006 AS Q5,1806 AS Q6,2406 AS Q7,499 AS Q8</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>Log Temperature SQL Error Dubbele uitvoerbestemming s420000004FC77626A. on line 840 Dubbele uitvoerbestemming s420000004FC77626A.</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>Change Field because , error number=0, Fields=s420000004FC77626V,2,s420000004FC77626A,1,s5600080092 580910,4,s420000004FC77626,4,s720008009215A510,1,s7000080092 4CF810,4,sE00008009230FC10,4,sE70008009221DC10,4,s420000004F C77626A,3</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>Log Temperature Retry SQL Error Dubbele uitvoerbestemming s420000004FC77626A. on line 900 Dubbele uitvoerbestemming s420000004FC77626A.</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>V5 Temp05 Temp Sensor 01/5600080092580910 Record Status = False/True, DeviceCode=R3</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>Calibrate 18,12 with bias 0</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>V5 Temp05 to HS Current R3= <TABLE><TBODY><TR><TD></TD><TD vAlign=center align=left></TD></TR></TBODY></TABLE>, New= <TABLE><TBODY><TR><TD></TD><TD vAlign=center align=left></TD></TR></TBODY></TABLE></TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:14 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >02[420000004FC77626]=16.06C<</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:15 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>SendQueue=</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:15 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >|Temp #<</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:15 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature </TD><TD class=LOGEntry1 align=left colSpan=8>Temp05/08 Data: Temp #02[420000004FC77626]=16.06C</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:15 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>V5 Temp05 Temp Sensor 02/420000004FC77626 Record Status = False/True, DeviceCode=R4</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:15 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>Calibrate 16,06 with bias 0</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:15 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>V5 Temp05 to HS Current R4= <TABLE><TBODY><TR><TD></TD><TD vAlign=center align=left></TD></TR></TBODY></TABLE>, New= <TABLE><TBODY><TR><TD></TD><TD vAlign=center align=left></TD></TR></TBODY></TABLE></TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:15 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >03[720008009215A510]=00.06C<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:16 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry0 align=left colSpan=8>SendQueue=</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>26-1-2007 0:53:16 </TD><TD class=LOGType1 align=left colSpan=3>mcsTemperature Debug </TD><TD class=LOGEntry1 align=left colSpan=8>BusyServicingInterrupt=False, Comm Status = 2, Comm Buffer = >|Temp #<</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>26-1-2007 0:53:16 </TD><TD class=LOGType0 align=left colSpan=3>mcsTemperature
                                </TR></TBODY>

                                Comment

                                Working...
                                X